這篇文章主要介紹了php中l(wèi)aravel框架的示例分析,具有一定借鑒價(jià)值,感興趣的朋友可以參考下,希望大家閱讀完這篇文章之后大有收獲,下面讓小編帶著大家一起了解一下。
成都創(chuàng)新互聯(lián)致力于互聯(lián)網(wǎng)品牌建設(shè)與網(wǎng)絡(luò)營(yíng)銷(xiāo),包括成都網(wǎng)站制作、網(wǎng)站設(shè)計(jì)、SEO優(yōu)化、網(wǎng)絡(luò)推廣、整站優(yōu)化營(yíng)銷(xiāo)策劃推廣、電子商務(wù)、移動(dòng)互聯(lián)網(wǎng)營(yíng)銷(xiāo)等。成都創(chuàng)新互聯(lián)為不同類(lèi)型的客戶提供良好的互聯(lián)網(wǎng)應(yīng)用定制及解決方案,成都創(chuàng)新互聯(lián)核心團(tuán)隊(duì)十余年專注互聯(lián)網(wǎng)開(kāi)發(fā),積累了豐富的網(wǎng)站經(jīng)驗(yàn),為廣大企業(yè)客戶提供一站式企業(yè)網(wǎng)站建設(shè)服務(wù),在網(wǎng)站建設(shè)行業(yè)內(nèi)樹(shù)立了良好口碑。
laravel的安裝
首先安裝laravel之前要安裝composer,如果是linux系統(tǒng)即可直接下載安裝,下載完后不能安裝記得修改下文件權(quán)限用命令chmod,這邊主要講下window下如何使用composer這個(gè)工具。
首先百度搜索中國(guó)composer鏡像,就可以找到composer config -g repositories.packagist composer http://packagist.phpcomposer.com
這條命令,運(yùn)行cmd在命令行運(yùn)行上面的命令,就可以下載composer工具,下載成功后可以看到composer文件底下有個(gè)composer.json文件這是一個(gè)配置文件,打開(kāi)配置文件寫(xiě)明php版本信息和要下載的laravel信息,格式如下:
{ "name": "laravel/laravel", "description": "The Laravel Framework.", "keywords": ["framework", "laravel"], "license": "MIT", "type": "project", "require": { "php": ">=5.5.9", "laravel/framework": "5.1.*" }, "require-dev": { "fzaninotto/faker": "~1.4", "mockery/mockery": "0.9.*", "phpunit/phpunit": "~4.0", "phpspec/phpspec": "~2.1" }, "autoload": { "classmap": [ "database" ], "psr-4": { "App\\": "app/" } }, "autoload-dev": { "classmap": [ "tests/TestCase.php" ] }, "scripts": { "post-install-cmd": [ "php artisan clear-compiled", "php artisan optimize" ], "pre-update-cmd": [ "php artisan clear-compiled" ], "post-update-cmd": [ "php artisan optimize" ], "post-root-package-install": [ "php -r \"copy('.env.example', '.env');\"" ], "post-create-project-cmd": [ "php artisan key:generate" ] }, "config": { "preferred-install": "dist" }, "repositories": [ {"type": "composer", "url": "http://packagist.phpcomposer.com"}, {"packagist": false} ] }
配置好之后輸入composer install 進(jìn)行安裝laravel,這邊要比較注意的是安裝目錄的路徑問(wèn)題,如果你想安裝在d盤(pán)底下就在把命令行切到d目錄底下進(jìn)行安裝(在此操作之前要配置好環(huán)境變量)。
2. laravel的目錄結(jié)構(gòu)介紹
安裝完的第一次肯定是要想怎么去運(yùn)行它,很簡(jiǎn)單,直接進(jìn)入public文件就可以打開(kāi)一個(gè)開(kāi)始頁(yè)面,如果在本地的話那就是localhost/laravelproject/public,就可以運(yùn)行。接下來(lái)介紹下laravel目錄結(jié)構(gòu),首先介紹下public的index.php文件 里面主要是加載了開(kāi)始文件然后才能成功運(yùn)行l(wèi)aravel,具體的兩個(gè)文件你可以在根目錄下bootstrap文件夾中找到?,F(xiàn)在看下app中的結(jié)構(gòu):
view中主要放的是視圖文件(創(chuàng)建文件時(shí)要用到blade模板,比如創(chuàng)建test.blade.php,laravel中是結(jié)合blade模板引擎來(lái)調(diào)用視圖模板),controller放的是控制器(手動(dòng)創(chuàng)建時(shí)記得要用composer 命令進(jìn)行更新),config中主要是配置文件(比如配置數(shù)據(jù)庫(kù)時(shí)要用到database.php文件),models主要是放模型(也就是數(shù)據(jù)庫(kù)的表),routes則是路由配置,filters則是過(guò)濾器。
3. laravel是怎么運(yùn)行的
剛學(xué)習(xí)時(shí)肯定是要先嘗試下如何運(yùn)行這個(gè)laravel,首先手動(dòng)創(chuàng)建一個(gè)controller,文件命名為T(mén)estController.php,然打開(kāi)命令行進(jìn)入項(xiàng)目的根目錄下 執(zhí)行 composer dumpautoload,里面內(nèi)容可以模仿homeController.php。然后編輯routes.php文件,將原來(lái)的Route::GET(‘/’,function()…);修改為Route::Get(‘/’,’TestController@showWelcome’); 然后運(yùn)行也會(huì)跳到laravel歡迎界面。如果Route::Get(‘test’,’TestController@showWelcome’);則在網(wǎng)站根目錄下后面直接增加test就可以訪問(wèn)了,到了這里應(yīng)該明白了怎么到Controller,Controller怎么到View了。
4. laravel數(shù)據(jù)庫(kù)配置
這邊用到的是MySQL,進(jìn)行了簡(jiǎn)單的配置
'mysql' => array( 'driver' => 'mysql', 'host' => 'localhost', 'database' => 'oss', 'username' => 'root', 'password' => '', 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', )
laravel的數(shù)據(jù)庫(kù)使用
數(shù)據(jù)表比較多時(shí)且數(shù)據(jù)表的前綴不一樣,則可以先配置模型model,在models文件夾中建立一個(gè)文件要與表名一樣的php文件,內(nèi)容如下:
<?php use Illuminate\Auth\UserTrait; use Illuminate\Auth\UserInterface; use Illuminate\Auth\Reminders\RemindableTrait; use Illuminate\Auth\Reminders\RemindableInterface; class User extends Eloquent implements UserInterface, RemindableInterface { use UserTrait, RemindableTrait; /** * The database table used by the model. * * @var string */ protected $table = 'users'; /** * The attributes excluded from the model's JSON form. * * @var array */ protected $hidden = array('password', 'remember_token'); }
即可以直接使用 User ::all() 查詢所有結(jié)果 ,User::find(2)查詢一個(gè),Post::findOrFail(2) 如果沒(méi)找到就會(huì)返回錯(cuò)誤,Post::save()、Post::where()->find()、Post::add()、Post::delete()
數(shù)據(jù)庫(kù)的簡(jiǎn)便操作: DB::table(‘tablename’)->insert([
插入多個(gè)時(shí)要再加一個(gè)數(shù)組 ['title'=>'title','name'=>'name'] ['title'=>'title'] ['title'=>'title'] ]) 插入時(shí)要想得到ID DB::table('tablename')->insertGetId(['title'=>'titles']) 更新數(shù)據(jù)要有ID DB::table('tablename')->where('id',1)->update(['title'=>'titles']) 刪除數(shù)據(jù) DB::table('tablename')->where('id',1)->delete(); 查詢數(shù)據(jù) DB::table('tablename')->get(); 得到全部的值 DB::table('tablename')->get(['title']); 只查詢title的值 DB::table('tablename')->first(); 只拿第一個(gè) DB::table('tablename')->orderBy('id','desc')->first(); 根據(jù)id排序 DB::table('tablename')->where('id','!=',2)->get(); 不等于2 DB::table('tablename')->where('id','!=',2)->where('id','>',5)->get(); 可以使用多個(gè)where DB::table('tablename')->where('id','!=',2)->OrWhere('id','>',5)->get(); 或者 DB::table('tablename')->whereBetween('id',[2,5])->get(); 閉包之間 DB::table('tablename')->whereIn('id',[2,5,9])->get(); DB::table('tablename')->whereNotIn('id',[2,5,9])->get(); DB::table('tablename')->whereNull('id')->get(); 為空的話就可以查詢出來(lái) DB::table('tablename')->take(3)->get(); 只查詢3個(gè) DB::table('tablename')->limit(3)->get(); 只查詢3個(gè) DB::table('tablename')->skip(2)->take(3)->get(); 只查詢3個(gè)跳過(guò)第二個(gè) DB::table('tablename')->where('id','!=',2)->pluck('title'); 只返回它的title DB::table('tablename')->count(); 有多少條記錄 DB::table('tablename')->max('id'); DB::table('tablename')->min('id'); DB::table('tablename')->avg('id'); DB::table('tablename')->sum('id');
多表關(guān)聯(lián)
在Post中定義public function comment(){ return $this->hasMany('Comment','post_id') }
正向關(guān)聯(lián) 一對(duì)多 一對(duì)一是hasOne
在Comment中定義public function post(){ return $this->belongsTo('Post','post_id') }
反向關(guān)聯(lián)
取得關(guān)聯(lián)值 Post::find(2)->comment 就可以得到Comment這張表的內(nèi)容 //這樣查詢一個(gè)是可以的 查詢多個(gè)就要設(shè)置預(yù)載入 查詢多個(gè) Post::with('comment')->get(); Post::with(['comment'=>function($query){$query->where('id','>',2)}])->get(); 加條件
感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享的“php中l(wèi)aravel框架的示例分析”這篇文章對(duì)大家有幫助,同時(shí)也希望大家多多支持創(chuàng)新互聯(lián),關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,更多相關(guān)知識(shí)等著你來(lái)學(xué)習(xí)!
網(wǎng)站題目:php中l(wèi)aravel框架的示例分析
本文來(lái)源:http://jinyejixie.com/article6/pdceog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開(kāi)發(fā)、關(guān)鍵詞優(yōu)化、ChatGPT、商城網(wǎng)站、自適應(yīng)網(wǎng)站、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)