1. 程式人生 > >關於php中laravel框架的學習--適合菜鳥初學者

關於php中laravel框架的學習--適合菜鳥初學者

關於php中laravel框架的學習

關於laravel的介紹就不講了,總之laravel是款比較強大的框架,它是國外框架所以在安裝的上面可能比較麻煩。

  1. laravel的安裝

    首先安裝laravel之前要安裝composer,如果是linux系統即可直接下載安裝,下載完後不能安裝記得修改下檔案許可權用命令chmod,這邊主要講下window下如何使用composer這個工具。
    首先百度搜索中國composer映象,就可以找到composer config -g repositories.packagist composer http://packagist.phpcomposer.com

    這條命令,執行cmd在命令列執行上面的命令,就可以下載composer工具,下載成功後可以看到composer檔案底下有個composer.json檔案這是一個配置檔案,開啟配置檔案寫明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 進行安裝laravel,這邊要比較注意的是安裝目錄的路徑問題,如果你想安裝在d盤底下就在把命令列切到d目錄底下進行安裝(在此操作之前要配置好環境變數)。
2. laravel的目錄結構介紹
安裝完的第一次肯定是要想怎麼去執行它,很簡單,直接進入public檔案就可以開啟一個開始頁面,如果在本地的話那就是localhost/laravelproject/public,就可以執行。接下來介紹下laravel目錄結構,首先介紹下public的index.php檔案 裡面主要是載入了開始檔案然後才能成功執行laravel,具體的兩個檔案你可以在根目錄下bootstrap資料夾中找到。現在看下app中的結構:
這裡寫圖片描述
view中主要放的是檢視檔案(建立檔案時要用到blade模板,比如建立test.blade.php,laravel中是結合blade模板引擎來呼叫檢視模板),controller放的是控制器(手動建立時記得要用composer 命令進行更新),config中主要是配置檔案(比如配置資料庫時要用到database.php檔案),models主要是放模型(也就是資料庫的表),routes則是路由配置,filters則是過濾器。
3. laravel是怎麼執行的
剛學習時肯定是要先嚐試下如何執行這個laravel,首先手動建立一個controller,檔案命名為TestController.php,然開啟命令列進入專案的根目錄下 執行 composer dumpautoload,裡面內容可以模仿homeController.php。然後編輯routes.php檔案,將原來的Route::GET(‘/’,function()…);修改為Route::Get(‘/’,’[email protected]’); 然後執行也會跳到laravel歡迎介面。如果Route::Get(‘test’,’[email protected]’);則在網站根目錄下後面直接增加test就可以訪問了,到了這裡應該明白了怎麼到Controller,Controller怎麼到View了。
4. laravel資料庫配置

這邊用到的是mysql,進行了簡單的配置

'mysql' => array(
'driver'    => 'mysql',
'host'      => 'localhost',
'database'  => 'oss',
'username'  => 'root',
'password'  => '',
'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix'    => '',
)
  1. laravel的資料庫使用
    資料表比較多時且資料表的字首不一樣,則可以先配置模型model,在models資料夾中建立一個檔案要與表名一樣的php檔案,內容如下:
<?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() 查詢所有結果 ,User::find(2)查詢一個,Post::findOrFail(2) 如果沒找到就會返回錯誤,Post::save()、Post::where()->find()、Post::add()、Post::delete()

資料庫的簡便操作: DB::table(‘tablename’)->insert([

        插入多個時要再加一個數組
        ['title'=>'title','name'=>'name']
        ['title'=>'title']
        ['title'=>'title']
        ])

        插入時要想得到ID
        DB::table('tablename')->insertGetId(['title'=>'titles'])

        更新資料要有ID
        DB::table('tablename')->where('id',1)->update(['title'=>'titles'])

        刪除資料
        DB::table('tablename')->where('id',1)->delete();

        查詢資料
        DB::table('tablename')->get();  得到全部的值
        DB::table('tablename')->get(['title']); 只查詢title的值
        DB::table('tablename')->first();  只拿第一個
        DB::table('tablename')->orderBy('id','desc')->first(); 根據id排序
        DB::table('tablename')->where('id','!=',2)->get(); 不等於2
        DB::table('tablename')->where('id','!=',2)->where('id','>',5)->get(); 可以使用多個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();  為空的話就可以查詢出來
        DB::table('tablename')->take(3)->get();  只查詢3個
        DB::table('tablename')->limit(3)->get();  只查詢3個
        DB::table('tablename')->skip(2)->take(3)->get();  只查詢3個跳過第二個
        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');

多表關聯
在Post中定義
public function comment(){ return $this->hasMany('Comment','post_id') } 正向關聯 一對多 一對一是hasOne
在Comment中定義
public function post(){ return $this->belongsTo('Post','post_id') } 反向關聯

取得關聯值
                Post::find(2)->comment  就可以得到Comment這張表的內容   //這樣查詢一個是可以的  查詢多個就要設定預載入
            查詢多個
                Post::with('comment')->get();
                Post::with(['comment'=>function($query){$query->where('id','>',2)}])->get();  加條件

至於頁面模板的一些應用可以檢視文件………………………………………………………………………………………………………………………

相關推薦

關於phplaravel框架學習--適合初學者

關於php中laravel框架的學習 關於laravel的介紹就不講了,總之laravel是款比較強大的框架,它是國外框架所以在安裝的上面可能比較麻煩。 laravel的安裝 首先安裝laravel之前要安裝composer,如果是linux系統即可直接

phplaravel框架之ajax分頁

控制器中的程式碼 public function index(){ $list = DB::table('rezhi')->paginate(1); return view('Rizhi_xianshi',['list'=>$list]);

php laravel框架學習筆記 (二) 數據庫操作

true 數據 mar sql show top 一行 ati del 原博客鏈接:http://www.cnblogs.com/bitch1319453/p/6810492.html mysql基本配置 你可用通過配置環境變量,使用cmd進入mysql,當然還有一種東

螞蟻金服開放介面使用手記 適用於沒做過的老 (不適合)

序言 說實在 因為自己一直很懶, 所以沒有去親自做過支付介面,只是大體瞭解相關流程.今天自己試了一天,發現這裡面還是有些坑的. 首先螞蟻金服相關開發文件 雖然已經很簡單了,但是還是比較亂的; 他們家的很多專業概念, 沒有比方說明, 普通人不好懂只能先亂入;

Laravel框架學習過程踩過的種種坑

# 網站開發完成,要部署到apache伺服器上時,只能顯示/public下的主頁,訪問其他頁面則404 造成這個問題的原因主要有兩點: 1. apache沒有開啟對.htaccess的重寫許可權 2. apache配置虛擬主機時,少配置了一層。應該是 /w

laravel框架學習(三)win下php artisan tinker 測試資料時,無法執行報錯的解決方法

問題描述: 複製該路徑,在資源管理器的位址列中開啟,會看到 如下: Temp 往往是系統或者其他軟體生成的快取檔案或目錄 需要返回到上一級目錄Temp中,全選資料夾,刪除,提示不允許刪除的話,

學習PHPyii框架的增刪改查

我所在的工作室由原有的專案,作業就是在裡面新增一個板塊進行練習PHP最基本的增刪改查。 1.新建一個數據庫 由於我在學習以前的框架時就已經建了一個數據庫,對這個庫也比較熟悉,所以還是打算用這個庫了。 資料庫名為db_song,我選擇的表為t_songs(一個歌單),其中包含id(主

PHP Laravel 框架學習筆記(一) 路由器 中介軟體 基礎使用

用了近兩年Thinkphp,嘗試接觸下Laravel框架,在寫這篇文章的時候,其實我已經陸續學習了laravel一個多月,學習期間寫了個簡單的新聞管理系統,基本熟悉laravel的使用,寫這篇文章是回顧並加深所學的知識,並更深入的瞭解框架,使用更多更有意思的

laravel框架學習-緩存,事件

unique 例子 schema ase 方法 data handle table etime 緩存配置:app/config/cache.php 緩存: 增加緩存項: Cache::put( ‘key‘, ‘value‘, $Cachetime );

Linux學習_教程_1

ssh sync 起點 計算機 16px 指令 span 語句 完成 Linux系統啟動過程:內核的引導 、運行init、系統初始化、建立終端、用戶登錄系統 內核引導:計算機開機,然後BIOS開機自檢,按照BIOS中設置的啟動設備(通常是硬盤)來啟動。 操作系統接管硬件以後

適合的:liunx centos7.0 最小化安裝後設置手動靜態IP操作指引教程

網絡拓撲 cbac nag gate aid 配置 ifcfg 第一步 ddr 操作背景: liunx centos7.0 minimal install ——沒有setup、沒有net_tools等安裝系統時未配置網絡 ——需要安裝後配置網絡; 操作目的: 適合菜

PHPLaravel框架使用問題彙總與解決方式

Laravel作為市場上最受歡迎的PHP MVC框架之一,有許多開發者使用者在使用Laravel。最近剛剛接觸Laravel框架,也遇到了一些問題,這裡總結經驗並將解決方式記錄如下,希望對遇到同樣問題的開發者有所幫助。 問題一:多環境下Apache伺服器無法啟動 使用wamp或xam

asp.net2.0學習歷程 到中級程式設計師的飛躍【月兒原創】

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!        

laravel框架學習遇到的一些問題

一:下載安裝laravel5.6自定義路由時無法訪問。 直接訪問出現報錯:The requested URL http://www.tst.com/mt   was not found on this server. 最後將在找到

Linux常見問題彙總,比較適合

Linux常見問題彙總如下: 1 切換目錄                 cd 路徑 2 回退上一層目錄  &nbs

laravel框架學習(四)執行建立中介軟體後,提示無法找到該中介軟體的解決方法

按照官方提供的文件:http://laravelacademy.org/post/7812.html 1.建立中介軟體:先宣告中介軟體, php artisan make:middleware AdminMiddleware 會自動在app/Http/Middlewar

laravel框架學習(二) 解決MySQL5.7以下資料無法遷移的方法

報錯 提示 不支援提供新的utf8字符集 第一種方法:修改字符集 修改字符集: 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 第二種方法:如果不修改字符集 修改下預設字串

laravel框架學習(一)安裝laravel,及laravel-ide-helper增強程式碼提示

1.安裝laravel框架 使用新框架composer是必須會使用的 在PHP環境下 WWW下 直接輸入以下程式碼 composer create-project --prefer-dist laravel/laravel blog "5.4.*" 回車會自動下載lar

[學習筆記]教程Swift易忘知識點總結(五)

繼承 子類 子類指的是在一個已有類的基礎上建立一個新的類。 為了指明某個類的超類,將超類名寫在子類名的後面,用冒號(:)分隔,語法格式如下: class SomeClass: SomeSuperclass { // 類的定義 } 重寫屬性