溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

在php中怎么學習laravel框架

發(fā)布時間:2020-12-11 10:22:25 來源:億速云 閱讀:169 作者:小新 欄目:編程語言

這篇文章將為大家詳細講解有關在php中怎么學習laravel框架,小編覺得挺實用的,因此分享給大家做個參考,希望大家閱讀完這篇文章后可以有所收獲。

laravel的安裝

首先安裝laravel之前要安裝composer,如果是linux系統(tǒng)即可直接下載安裝,下載完后不能安裝記得修改下文件權限用命令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目錄底下進行安裝(在此操作之前要配置好環(huán)境變量)。

laravel的目錄結構介紹

安裝完的第一次肯定是要想怎么去運行它,很簡單,直接進入public文件就可以打開一個開始頁面,如果在本地的話那就是localhost/laravelproject/public,就可以運行。

接下來介紹下laravel目錄結構,首先介紹下public的index.php文件 里面主要是加載了開始文件然后才能成功運行l(wèi)aravel,具體的兩個文件你可以在根目錄下bootstrap文件夾中找到?,F在看下app中的結構:

在php中怎么學習laravel框架
view中主要放的是視圖文件(創(chuàng)建文件時要用到blade模板,比如創(chuàng)建test.blade.php,laravel中是結合blade模板引擎來調用視圖模板)

controller放的是控制器(手動創(chuàng)建時記得要用composer 命令進行更新)

config中主要是配置文件(比如配置數據庫時要用到database.php文件)

models主要是放模型(也就是數據庫的表)

routes則是路由配置,

filters則是過濾器。

laravel是怎么運行的

剛學習時肯定是要先嘗試下如何運行這個laravel,首先手動創(chuàng)建一個controller,文件命名為TestController.php,然打開命令行進入項目的根目錄下 執(zhí)行 composer dumpautoload,里面內容可以模仿homeController.php。

然后編輯routes.php文件,將原來的Route::GET(‘/’,function()…);修改為Route::Get(‘/’,’TestController@showWelcome’); 然后運行也會跳到laravel歡迎界面。

如果Route::Get(‘test’,’TestController@showWelcome’);則在網站根目錄下后面直接增加test就可以訪問了,到了這里應該明白了怎么到Controller,Controller怎么到View了。

laravel數據庫配置

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

'mysql' => array(
'driver'    => 'mysql',
'host'      => 'localhost',
'database'  => 'oss',
'username'  => 'root',
'password'  => '',
'charset'   => 'utf8',
'collation' => 'utf8_unicode_ci',
'prefix'    => '',
)

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();  加條件

關于在php中怎么學習laravel框架就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI