目錄
一、安裝laravle
1、安裝composer
2、執行指令:
二、目錄簡介
三、路由初識
1、常見的幾個請求
callback);
Route::match(['get','post'],'/',function(){});
登入後複製
" >
Route::match(['get','post'],'/',function(){});
登入後複製
/admin/add
四、laravel验证器
五、控制器获取用户输入的值
1、获取用户单个输入值:
2、获取用户输入的所有值:
3、获取用户输入指定的值:
4、获取用户输入指定值之外的值:
5、判断某个值是否存在
六、视图的创建与使用
1、视图的创建
2、变量映射
3、视图渲染
3.1 foreach的使用
3.2 if的使用
4、视图之间的引用
七、模型的创建与使用
1、创建模型的命令
2、模型基本设置
3、模型数据添加
4、模型的表连接
5、简单模型关联一对一
八、日志
1、自定义日志目录
九、迁移文件
首頁 php框架 Laravel 歸納整理Laravel基礎知識總結

歸納整理Laravel基礎知識總結

Apr 19, 2022 pm 04:56 PM
laravel

這篇文章為大家帶來了關於laravel的相關知識,其中主要介紹了一些基礎知識,包括了怎麼安裝Laravel、路由、驗證器、視圖等等相關內容,下面一起來看一下,希望對大家有幫助。

歸納整理Laravel基礎知識總結

【相關推薦:laravel影片教學

一、安裝laravle

1、安裝composer

2、執行指令:

composer create-project laravel/laravel 專案資料夾名-- prefer-dist

歸納整理Laravel基礎知識總結

二、目錄簡介

  • app:應用程式的核心程式碼

  • bootstrap:一個引導框架的app.php文件,一個cache目錄(包含路由及快取文件),框架啟動文件,一般情況不動。

  • config:所有設定檔

  • #database:其中migrations目錄可以產生資料表。

  • public:入口檔案存放地,以及靜態資源(和tp類似)

  • resources

  • routes:所有應用程式的路由定義

  • tests:可用來單元測試

  • vendor:所有composer依賴套件

三、路由初識

1、常見的幾個請求

  • #Route::get(##                                 u                         r                         l                         ,                            url,             u
  • r#l##,callback);Route::post(#                                 u                         r                         l                         ,                            url,             u
  • r
  • #l##,callback);Route::put(#                                 u                         r                         l                         ,                            url,             ur
  • #l##,callback);Route::delete(#                                 u                         r                         l                         ,                            url,             ur
  • #l
##,

callback);

2、符合指定的請求方式

Route::match(['get','post'],'/',function(){});
登入後複製

3、設定任意請求方式

Route::any('/home', function () {
    });
登入後複製

4、給路由加必填參數

Route::get('/home/{id}', function ($id) {
    echo 'id为:'.$id;});
登入後複製

5、增加路由參數

Route::get('/home/{id?}', function ($id = '') {
    echo 'id为:'.$id;});
登入後複製
6、透過?形式傳遞get參數
    Route::get('/home', function () {
        echo 'id为:'.$_GET['id'];});
    登入後複製
  • 7、增加路由給路由
  • Route::any('/home/index', function () {
        echo '测试';})->name('hh');
    登入後複製
  • 8、設定路由群組
  • 例如有下列路由:
  • /admin/login

    /admin/index

    /admin /logout

    /admin/add

    如果一個一個添加是比較麻煩的,他們有一個共同的區別,都是有/admin/前綴,可設定一個路由群群組進行新增:###
    Route::group(['prefix'=>'admin'], function () {
        Route::get('test1', function () {
            echo 'test1';
        });
        Route::get('test2', function () {
            echo 'test2';
        });});
    登入後複製
    ###此時就可透過/admin/test1來進行存取了。 ######9、路由設定控制器######控制器可以建造一個前台和一個後台:###

    歸納整理Laravel基礎知識總結

    命令行创建路由:

    php artisan make:controller Admin/IndexController
    登入後複製

    基本路由建立:

    Route::get('test/index','TestController@index');
    登入後複製

    分目录路由建立:

    Route::get('/admin/index/index','Admin\IndexController@index');
    登入後複製

    四、laravel验证器

    引入:use Illuminate\Support\Facades\Validator

    $param = $request->all();$rule = [
        'name'=>'required|max:2',];$message = [
        'required'  => ':attribute不能为空',
        'max' => ':attribute长度最大为2'];$replace = [
        'name' => '姓名',];$validator = Validator::make($param, $rule, $message,$replace);if ($validator->fails()){
        return response()->json(['status'=>0,'msg'=>$validator->errors()->first()]);}
    登入後複製

    五、控制器获取用户输入的值

    在控制器中如果要使用一个类,例如use Illuminate\Http\Request,就可以简写为use Request
    但是需要在config目录下的app.php配置文件中加入:

    'aliases' => [
    
            'App' => Illuminate\Support\Facades\App::class,
            'Arr' => Illuminate\Support\Arr::class,
            'Artisan' => Illuminate\Support\Facades\Artisan::class,
            'Auth' => Illuminate\Support\Facades\Auth::class,
            'Blade' => Illuminate\Support\Facades\Blade::class,
    
            'Request' => Illuminate\Support\Facades\Request::class,
    
        ],
    登入後複製

    1、获取用户单个输入值:

    Input::get('id')
    登入後複製

    2、获取用户输入的所有值:

    Input::all()
    登入後複製

    打印出来的是数组

    关于dd(dump+die)

    3、获取用户输入指定的值:

    Input::only(['id','name']  //只接收id,其余不接受
    登入後複製

    4、获取用户输入指定值之外的值:

    Input::except(['name']    //不接收name,其余都接收
    登入後複製

    5、判断某个值是否存在

    Input::has('name')    //存在返回true  不存在返回false  其中0返回true
    登入後複製

    六、视图的创建与使用

    1、视图的创建

    视图也可分目录管理:

    歸納整理Laravel基礎知識總結
    控制器语法:

    return view('home/test');
    登入後複製

    也可写为:

    return view('home.test');
    登入後複製

    2、变量映射

    控制器中:

    return view('home/test',['day'=>time()]);
    登入後複製

    视图中:

    {{$day}}
    登入後複製

    其中控制器中变量映射有三种:

    • view(模板文件,数组)
    • view(模板文件)->with(数组)
    • view(模板文件)->with(数组)->with(数组)

    了解一下compact数组。

    3、视图渲染

    3.1 foreach的使用

    控制器中:

    public function index(){
    
            $arr = [
                0 => [
                    'name' => 'tom',
                    'age' => '12',
                ],
                1 => [
                    'name' => 'bby',
                    'age' => '13',
                ]
            ];
            return view('home/test',['data'=>$arr]);
        }
    登入後複製

    视图中:

    @foreach($data as $k=>$v)
        键:{{$k}}
        值:{{$v['name']}}    <br>@endforeach
    登入後複製

    3.2 if的使用

    @if(1==2)
        是的
    @else
        不是的
    @endif
    登入後複製

    4、视图之间的引用

    @include('welcome')
    登入後複製

    七、模型的创建与使用

    1、创建模型的命令

    php artisan make:model Model/Admin/Member
    登入後複製

    此时,就会在app目录内创建:
    歸納整理Laravel基礎知識總結

    2、模型基本设置

    <?phpnamespace  App\Model\Admin;use Illuminate\Database\Eloquent\Model;class Member extends Model{
        //定义表名
        protected $table = &#39;student&#39;;
        //定义主键
        protected $primaryKey = &#39;id&#39;;
        //定义禁止操作时间
        public $timestamps = false;
        //设置允许写入的字段
        protected $fillable = [&#39;id&#39;,&#39;sname&#39;];}
    登入後複製

    3、模型数据添加

    方式一:

    	 $model = new Member();
    	 $model->sname = '勒布朗';
    	 $res = $model->save();
    	 dd($res);
    登入後複製

    方式二:

         $model = new Member();
         $res = $model->create($request->all());
         dd($res);
    登入後複製

    4、模型的表连接

    //查询客户与销售顾问的客资列表$data = Custinfo::select(['custinfo.*', 'customers.name'])
        ->join('customers', 'customers.id', '=', 'custinfo.cust_id')
        ->where($where)
        ->get()
        ->toArray();
    登入後複製

    5、简单模型关联一对一

    <?phpnamespace  App\Model\Admin;use Illuminate\Database\Eloquent\Model;class Phone extends Model{
        //定义表名
        protected $table = &#39;phone&#39;;
    
        //定义主键
        protected $primaryKey = &#39;id&#39;;
    
        //定义禁止操作时间
        public $timestamps = false;
    
        //设置允许写入的字段
        protected $fillable = [&#39;id&#39;,&#39;uid&#39;,&#39;phone&#39;];}
    登入後複製
    <?phpnamespace  App\Model\Admin;use Illuminate\Database\Eloquent\Model;class Member extends Model{
        //定义表名
        protected $table = &#39;student&#39;;
    
        //定义主键
        protected $primaryKey = &#39;id&#39;;
    
        //定义禁止操作时间
        public $timestamps = false;
    
        //设置允许写入的字段
        protected $fillable = [&#39;id&#39;,&#39;sname&#39;];
    
        /**
         * 获取与用户关联的电话号码记录。
         */
        public function getPhone()
        {
            return $this->hasOne('App\Model\Admin\Phone', 'uid', 'id');
        }}
    登入後複製
        //对象转数组
        public function Arr($obj)
        {
            return json_decode(json_encode($obj), true);
        }
    
    
        public function index(){
            $infoObj = Member::with('getPhone')->get();
            $infoArr = $this->Arr($infoObj);
            print_r($infoArr);
        }
    登入後複製

    歸納整理Laravel基礎知識總結
    歸納整理Laravel基礎知識總結

    八、日志

    1、自定义日志目录

    config目录下的logging.php中的channels配置:

     'custom' => [
         'driver' => 'single',
         'path' => storage_path('logs/1laravel.log'),
         'level' => 'debug',
     ]
    登入後複製

    控制器中:

    $message = ['joytom','rocker'];Log::channel('custom')->info($message);
    登入後複製

    九、迁移文件

    建立一个迁移文件:php artisan make:migration create_shcool_table

    会在database\migrations下创建一个文件:
    歸納整理Laravel基礎知識總結
    在up方法中增加如下代码:

    <?phpuse  Illuminate\Database\Migrations\Migration;use Illuminate\Database\Schema\Blueprint;use Illuminate\Support\Facades\Schema;class CreateShcoolTable extends Migration{
        /**
         * Run the migrations.
         *
         * @return void
         */
        public function up()
        {
            Schema::create(&#39;shcool&#39;, function (Blueprint $table) {
                $table->bigIncrements('id');
                $table->string('school_name','20')->notNull()->unique();
    
                $table->tinyInteger('status')->default(1);
    
                $table->timestamps();
            });
        }
    
        /**
         * Reverse the migrations.
         *
         * @return void
         */
        public function down()
        {
            Schema::dropIfExists('shcool');
        }}
    登入後複製

    更详细的生成SQL方法请参考:数据迁移文件常用方法速查表

    写好SQL文件以后,执行:php artisan migrate
    歸納整理Laravel基礎知識總結
    将会生成数据表,其中操作日志将记录在这个表中:

    歸納整理Laravel基礎知識總結
    php artisan migrate:rollback:回滚最后一次的迁移操作, 删除(回滚)之后会删除迁移记录,并且数据表也会删除,但是迁移文件依旧存在,方便后期继续迁移(创建数据表)。

    【相关推荐:laravel视频教程

    以上是歸納整理Laravel基礎知識總結的詳細內容。更多資訊請關注PHP中文網其他相關文章!

  • 本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

    熱AI工具

    Undresser.AI Undress

    Undresser.AI Undress

    人工智慧驅動的應用程序,用於創建逼真的裸體照片

    AI Clothes Remover

    AI Clothes Remover

    用於從照片中去除衣服的線上人工智慧工具。

    Undress AI Tool

    Undress AI Tool

    免費脫衣圖片

    Clothoff.io

    Clothoff.io

    AI脫衣器

    Video Face Swap

    Video Face Swap

    使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

    熱工具

    記事本++7.3.1

    記事本++7.3.1

    好用且免費的程式碼編輯器

    SublimeText3漢化版

    SublimeText3漢化版

    中文版,非常好用

    禪工作室 13.0.1

    禪工作室 13.0.1

    強大的PHP整合開發環境

    Dreamweaver CS6

    Dreamweaver CS6

    視覺化網頁開發工具

    SublimeText3 Mac版

    SublimeText3 Mac版

    神級程式碼編輯軟體(SublimeText3)

    在dcat admin中如何實現點擊添加數據的自定義表格功能? 在dcat admin中如何實現點擊添加數據的自定義表格功能? Apr 01, 2025 am 07:09 AM

    在dcatadmin(laravel-admin)中如何實現自定義點擊添加數據的表格功能在使用dcat...

    在Laravel中如何獲取郵件發送失敗時的退信代碼? 在Laravel中如何獲取郵件發送失敗時的退信代碼? Apr 01, 2025 pm 02:45 PM

    Laravel郵件發送失敗時的退信代碼獲取方法在使用Laravel開發應用時,經常會遇到需要發送驗證碼的情況。而在實�...

    Laravel Redis連接共享:為何select方法會影響其他連接? Laravel Redis連接共享:為何select方法會影響其他連接? Apr 01, 2025 am 07:45 AM

    Laravel框架中Redis連接的共享與select方法的影響在使用Laravel框架和Redis時,開發者可能會遇到一個問題:通過配置...

    Laravel多租戶擴展stancl/tenancy:如何自定義租戶數據庫連接的主機地址? Laravel多租戶擴展stancl/tenancy:如何自定義租戶數據庫連接的主機地址? Apr 01, 2025 am 09:09 AM

    在Laravel多租戶擴展包stancl/tenancy中自定義租戶數據庫連接使用Laravel多租戶擴展包stancl/tenancy構建多租戶應用時,...

    Bangla 部分模型檢索中的 Laravel Eloquent ORM) Bangla 部分模型檢索中的 Laravel Eloquent ORM) Apr 08, 2025 pm 02:06 PM

    LaravelEloquent模型檢索:輕鬆獲取數據庫數據EloquentORM提供了簡潔易懂的方式來操作數據庫。本文將詳細介紹各種Eloquent模型檢索技巧,助您高效地從數據庫中獲取數據。 1.獲取所有記錄使用all()方法可以獲取數據庫表中的所有記錄:useApp\Models\Post;$posts=Post::all();這將返回一個集合(Collection)。您可以使用foreach循環或其他集合方法訪問數據:foreach($postsas$post){echo$post->

    在Laravel6項目中如何有效檢查Redis連接的有效性? 在Laravel6項目中如何有效檢查Redis連接的有效性? Apr 01, 2025 pm 02:00 PM

    在Laravel6項目中如何檢查Redis連接的有效性是一個常見的問題,特別是在項目依賴於Redis進行業務處理時。以下是...

    laravel入門實例 laravel入門實例 Apr 18, 2025 pm 12:45 PM

    Laravel 是一款 PHP 框架,用於輕鬆構建 Web 應用程序。它提供一系列強大的功能,包括:安裝: 使用 Composer 全局安裝 Laravel CLI,並在項目目錄中創建應用程序。路由: 在 routes/web.php 中定義 URL 和處理函數之間的關係。視圖: 在 resources/views 中創建視圖以呈現應用程序的界面。數據庫集成: 提供與 MySQL 等數據庫的開箱即用集成,並使用遷移來創建和修改表。模型和控制器: 模型表示數據庫實體,控制器處理 HTTP 請求。

    Laravel數據庫遷移遇到類重複定義:如何解決遷移文件重複生成及類名衝突? Laravel數據庫遷移遇到類重複定義:如何解決遷移文件重複生成及類名衝突? Apr 01, 2025 pm 12:21 PM

    Laravel數據庫遷移過程中出現類重複定義問題在使用Laravel框架進行數據庫遷移時,開發者可能會遇到“類已使用�...

    See all articles