真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

Laravel框架中怎么利用組件開發(fā)與composer構(gòu)建類-創(chuàng)新互聯(lián)

這篇文章將為大家詳細(xì)講解有關(guān)Laravel框架中怎么利用組件開發(fā)與composer構(gòu)建類,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

創(chuàng)新互聯(lián)是一家專注于網(wǎng)站建設(shè)、成都做網(wǎng)站與策劃設(shè)計,華容網(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)做網(wǎng)站,專注于網(wǎng)站建設(shè)10余年,網(wǎng)設(shè)計領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:華容等地區(qū)。華容做網(wǎng)站價格咨詢:13518219792

如今“敏捷開發(fā)”“不要重復(fù)造輪子”思想已經(jīng)在軟件開發(fā)方面盛行了。項目中以框架作為基礎(chǔ)進(jìn)行二次開發(fā)已經(jīng)成為了選方案。Laravel是一款優(yōu)秀的PHP框架,在眾多框架之中保持著一種領(lǐng)跑的姿態(tài)。Laravel比較突出的優(yōu)點是組件式開發(fā)、Ioc容器、分布式運用架構(gòu)設(shè)計。而說到PHP組件開發(fā)就不得不提到composer,composer是專門為PHP而生的,是PHP組件的管理工具。Laravel框架就是采用組件式開發(fā)的典范,稍后我將演示如何利用composer組件管理工具手動構(gòu)建laravel主要功能,包括路由功能、控制器功能、模型、視圖。

那么什么是組件式開發(fā)?
按照我的理解是:對于一個大型項目來說,如果把各個功能在項目初期分為各個不同的版塊,最后在合成就是組件式開發(fā)。特別是在今天開源的社會,很多人已經(jīng)把某個版塊(組件)做的很好了,那么我們就可以直接嵌入到項目中去(比如一些優(yōu)秀的類庫)。甚至有時候我們可以快速更換項目中的模塊而不修改系統(tǒng)中的其他部分代碼。為了達(dá)到這個目的我們需要遵循一定得規(guī)范與接口。在PHP中有個著名的PHP-FIG(PHP Framework Interop Group,PHP 框架互動群),它的作用就是制定一系列PHP開發(fā)規(guī)范即PSR編碼規(guī)范。PHPer在開發(fā)框架的時候共同遵守這個規(guī)則的話,各種組件就可以很友好地組合在一起。PSR主要包括PSR0-PSR4文檔,其中PSR0與PSR4就制定了Autoloader標(biāo)準(zhǔn)。

接下來手動構(gòu)建Laravel框架中的路由功能、控制器功能、模型、視圖。

環(huán)境要求:
1、Composer(網(wǎng)上自行搜索安裝)
2、PHP5.3以上
3、Mysql數(shù)據(jù)庫
4、Apache或者Nginx服務(wù)器

步驟:
1、項目初始化
2、添加路由功能
3、添加控制器模塊
4、添加模型
5、添加視圖

1、項目初始化
在服務(wù)器根目錄創(chuàng)建一個文件夾,起名為lara,比如我的E:\laravel\lara(虛擬目錄),創(chuàng)建一個composer.json文件并輸入以下內(nèi)容(為了不重復(fù)用composer update,我將待會要用的組件一次性加載)

{
    "require":{
        "illuminate/routing":"*",
        "illuminate/events":"*",
        "illuminate/database":"*",
        "illuminate/view":"*"
    },
    "autoload":{
        "psr-4":{
            "App\\":"app/"
        }    }}

composer就是根據(jù)composer.json中的內(nèi)容來加載組件的。其中有路由組件、事件組件、數(shù)據(jù)庫組件、視圖組件(其中控制器組件已經(jīng)包括在路由組件)。autoload的配置為psr-4規(guī)范,也就是說當(dāng)我們使用“$user =new \App\User()”實例化User對象時,autoload會在app目錄下查找User.php文件。有了composer.json之后就可以加載組件了,在window下是用cmd定位到lara目錄然后使用composer update命令,在linux類似。在加載之后有如下目錄:
Laravel框架中怎么利用組件開發(fā)與composer構(gòu)建類

2、配置路由文件
我們都知道laravel有入口文件和路由文件。我就仿照laravel在lara目錄下新建一個public文件夾,在public目錄下創(chuàng)建一個入口文件index.php配置如下:

register();
    with(new Illuminate\Routing\RoutingServiceProvider($app))->register();    //加載路由
    require __DIR__.'/../app/Http/Routes.php';    //實例化請求分發(fā)處理程序
    $request =Illuminate\Http\Request::createFromGlobals();    
    $response =$app['router']->dispatch($request);    //返回請求的響應(yīng)
    $response->send(); ?>

接下來設(shè)置路由文件。在lara目錄下創(chuàng)建app文件夾,在該目錄再創(chuàng)建一個Http文件夾,在Http目錄下創(chuàng)建一個routes.php文件。內(nèi)容如下(學(xué)過laravel框架的人應(yīng)該很清楚)

get('/',function(){
        return '

路由成功!

';     });    $app['router']->get('welcome','App\Http\Controllers\WelcomeController@index'); ?>

接下來再通過服務(wù)器訪問到public的index,結(jié)果如下:
Laravel框架中怎么利用組件開發(fā)與composer構(gòu)建類

3、配置控制器模塊
根據(jù)laravel目錄結(jié)構(gòu),在app\Http目錄下創(chuàng)建一個Controllers文件夾,然后創(chuàng)建一個WelcomeController.php文件,代碼如下:

然后再配置路由文件為:

get('/',function(){
        return '

路由成功!

';     });    $app['router']->get('welcome','App\Http\Controllers\WelcomeController@index'); ?>

接下來再訪問localhost:8080/lara/public/index.php/welcome(這是我的路徑,大家根據(jù)自己的服務(wù)器寫)結(jié)果;
Laravel框架中怎么利用組件開發(fā)與composer構(gòu)建類

4、配置模型
首先創(chuàng)建一個數(shù)據(jù)庫(我這里取名為lara),然后創(chuàng)建一個數(shù)據(jù)表students;
Laravel框架中怎么利用組件開發(fā)與composer構(gòu)建類

再來配置database組件,在入口文件下配置,配置后為:

register();
    with(new Illuminate\Routing\RoutingServiceProvider($app))->register();    //加載路由
    //啟動Eloquent ORM模塊并進(jìn)行相關(guān)配置
    $manager =new Manager();    $manager->addConnection(require '../config/database.php');    $manager->bootEloquent();    require __DIR__.'/../app/Http/Routes.php';    //實例化請求分發(fā)處理程序
    $request =Illuminate\Http\Request::createFromGlobals();    $response =$app['router']->dispatch($request);    //返回請求的響應(yīng)
    $response->send(); ?>

然后配置數(shù)據(jù)庫連接,在lara目錄下創(chuàng)建config文件夾,然后創(chuàng)建database.php

'mysql',        'host'      =>'localhost',        'database'  =>'lara',        'username'  =>'root',        'password'  =>'123',        'charset'   =>'utf8',        'collation' =>'utf8_general_ci',        'prefix'    =>''
    ]; ?>

大家根據(jù)自己的數(shù)據(jù)庫配置相關(guān)參數(shù)。
接下來就創(chuàng)建模板文件了,在app目錄下創(chuàng)建Models文件夾,再該目錄創(chuàng)建Student.php

我沒有創(chuàng)建createTime和updateTime字段所以要設(shè)置$timestamps = false;
最后再使用Eloquent ORM利用模型,在WelcomeController.php文件中運用該模型:WelcomeController.php

getAttributes();            return $data['name'].";".$data['age'];
        }
    } ?>

再訪問localhost:8080/lara/public/index.php/welcome
5、添加視圖組件
配置入口文件如下:

register();
    with(new Illuminate\Routing\RoutingServiceProvider($app))->register();    //加載路由
    //啟動Eloquent ORM模塊并進(jìn)行相關(guān)配置
    $manager =new Manager();    $manager->addConnection(require '../config/database.php');    $manager->bootEloquent();    $app->instance('config',new Fluent);    $app['config']['view.compiled'] = "E:\\laravel\\lara\\storage\\framework\\views\\";    $app['config']['view.paths'] = ["E:\\laravel\\lara\\resources\\views\\"];
    with(new Illuminate\View\ViewServiceProvider($app))->register();
    with(new Illuminate\Filesystem\FilesystemServiceProvider($app))->register();    require __DIR__.'/../app/Http/Routes.php';    //實例化請求分發(fā)處理程序
    $request =Illuminate\Http\Request::createFromGlobals();    $response =$app['router']->dispatch($request);    //返回請求的響應(yīng)
    $response->send(); ?>

其中的路徑根據(jù)自己電腦配置。
然后再分別創(chuàng)建lara\storage\framework\views\目錄,和E:\laravel\lara\resources\views目錄,分別存放編譯文件和模板文件。在WelcomeController.php配置使用視圖文件:

getAttributes();            $app=Container::getInstance();            $factory =$app->make('view');            return $factory->make('welcome')->with('data',$data);
        }
    } ?>

讀取一行數(shù)據(jù)給視圖文件welcome
然后在lara\resources\views目錄下創(chuàng)建welcome.blade.php,注意后綴為.blade.php,否則無法識別。代碼如下:

{{ $data['name']}}{{ $data['age']}}

主要不要用php標(biāo)簽包圍該代碼
最后訪問localhost:8080/lara/public/index.php/welcome

關(guān)于“Laravel框架中怎么利用組件開發(fā)與composer構(gòu)建類”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,使各位可以學(xué)到更多知識,如果覺得文章不錯,請把它分享出去讓更多的人看到。


網(wǎng)頁名稱:Laravel框架中怎么利用組件開發(fā)與composer構(gòu)建類-創(chuàng)新互聯(lián)
標(biāo)題鏈接:http://weahome.cn/article/jjohi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部