Rumah > rangka kerja php > Laravel > Ringkaskan dan susun pengetahuan asas Laravel

Ringkaskan dan susun pengetahuan asas Laravel

WBOY
Lepaskan: 2022-04-19 21:43:33
ke hadapan
3083 orang telah melayarinya

Artikel ini membawakan anda pengetahuan yang berkaitan tentang laravel Ia terutamanya memperkenalkan beberapa pengetahuan asas, termasuk cara memasang Laravel, penghalaan, pengesah, pandangan dan kandungan lain yang berkaitan ia membantu semua orang.

Ringkaskan dan susun pengetahuan asas Laravel

[Cadangan berkaitan: tutorial video laravel]

1 >1. Pasang komposer

2.

2. Pengenalan direktori

: Kod teras aplikasi composer create-project laravel/laravel 项目文件夹名 --prefer-dist

Ringkaskan dan susun pengetahuan asas Laravel

: app.php a rangka kerja bootstrap Fail, direktori cache (termasuk penghalaan dan fail cache), fail permulaan rangka kerja, biasanya tidak bergerak.

  • : Semua fail konfigurasi app

  • : Direktori migrasi boleh menjana jadual data. bootstrap

  • : Masukkan lokasi storan fail dan sumber statik (serupa dengan tp) config

  • : database

  • : Semua definisi laluan aplikasi public

  • : Boleh digunakan untuk ujian unit resources

  • : Semua pakej kebergantungan komposer routes

3. Pengenalan pertama kepada penghalaan

1. Beberapa permintaan biasa

  • Laluan::get( , ' '                   u                                     r                                     l                                     , ,                   ' ' url, ' url,panggilan balik);
  • Laluan::post( , ' '                   u                                     r                                     l                                     , ,                   ' ' url, ' url,panggilan balik);
  • Laluan::put( , ' '                   u                                     r                                     l                                     , ,                   ' ' url, ' url,panggilan balik);
  • Laluan::delete( , ' '                   u                                     r                                     l                                     , ,                   ' ' url, ' url,panggilan balik);

2 Padankan kaedah permintaan yang ditentukan

Route::match(['get','post'],'/',function(){});
Salin selepas log masuk

3 Konfigurasikan sebarang kaedah permintaan

Route::any('/home', function () {
    });
Salin selepas log masuk

4. Tambahkan parameter yang diperlukan pada laluan

Route::get('/home/{id}', function ($id) {
    echo 'id为:'.$id;});
Salin selepas log masuk

5. Tambahkan parameter pilihan pada laluan

Route::get('/home/{id?}', function ($id = '') {
    echo 'id为:'.$id;});
Salin selepas log masuk

6. Lulus dapatkan parameter dalam bentuk ?

Route::get('/home', function () {
    echo 'id为:'.$_GET['id'];});
Salin selepas log masuk

7 , Tambah alias pada laluan

Route::any('/home/index', function () {
    echo '测试';})->name('hh');
Salin selepas log masuk

8. Tetapkan kumpulan penghalaan

Sebagai contoh, laluan berikut:

  • /admin/login
  • /admin/index
  • /admin/logout
  • /admin/add

Jika menambah satu demi satu lebih menyusahkan, mereka mempunyai perbezaan biasa, semuanya Terdapat awalan /admin/, anda boleh menyediakan kumpulan penghalaan untuk menambah:

Route::group(['prefix'=>'admin'], function () {
    Route::get('test1', function () {
        echo 'test1';
    });
    Route::get('test2', function () {
        echo 'test2';
    });});
Salin selepas log masuk

Pada masa ini, anda boleh mengaksesnya melalui /admin/test1.

9 Pengawal konfigurasi penghalaan

Pengawal boleh membina meja depan dan meja belakang:

Ringkaskan dan susun pengetahuan asas Laravel

命令行创建路由:

php artisan make:controller Admin/IndexController
Salin selepas log masuk

基本路由建立:

Route::get('test/index','TestController@index');
Salin selepas log masuk

分目录路由建立:

Route::get('/admin/index/index','Admin\IndexController@index');
Salin selepas log masuk

四、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()]);}
Salin selepas log masuk

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

在控制器中如果要使用一个类,例如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,

    ],
Salin selepas log masuk

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

Input::get('id')
Salin selepas log masuk

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

Input::all()
Salin selepas log masuk

打印出来的是数组

关于dd(dump+die)

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

Input::only(['id','name']  //只接收id,其余不接受
Salin selepas log masuk

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

Input::except(['name']    //不接收name,其余都接收
Salin selepas log masuk

5、判断某个值是否存在

Input::has('name')    //存在返回true  不存在返回false  其中0返回true
Salin selepas log masuk

六、视图的创建与使用

1、视图的创建

视图也可分目录管理:

Ringkaskan dan susun pengetahuan asas Laravel
控制器语法:

return view('home/test');
Salin selepas log masuk

也可写为:

return view('home.test');
Salin selepas log masuk

2、变量映射

控制器中:

return view('home/test',['day'=>time()]);
Salin selepas log masuk

视图中:

{{$day}}
Salin selepas log masuk

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

  • 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]);
    }
Salin selepas log masuk

视图中:

@foreach($data as $k=>$v)
    键:{{$k}}
    值:{{$v['name']}}    <br>@endforeach
Salin selepas log masuk

3.2 if的使用

@if(1==2)
    是的
@else
    不是的
@endif
Salin selepas log masuk

4、视图之间的引用

@include('welcome')
Salin selepas log masuk

七、模型的创建与使用

1、创建模型的命令

php artisan make:model Model/Admin/Member
Salin selepas log masuk

此时,就会在app目录内创建:
Ringkaskan dan susun pengetahuan asas 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;];}
Salin selepas log masuk

3、模型数据添加

方式一:

	 $model = new Member();
	 $model->sname = '勒布朗';
	 $res = $model->save();
	 dd($res);
Salin selepas log masuk

方式二:

     $model = new Member();
     $res = $model->create($request->all());
     dd($res);
Salin selepas log masuk

4、模型的表连接

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

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;];}
Salin selepas log masuk
<?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');
    }}
Salin selepas log masuk
    //对象转数组
    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);
    }
Salin selepas log masuk

Ringkaskan dan susun pengetahuan asas Laravel
Ringkaskan dan susun pengetahuan asas Laravel

八、日志

1、自定义日志目录

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

 'custom' => [
     'driver' => 'single',
     'path' => storage_path('logs/1laravel.log'),
     'level' => 'debug',
 ]
Salin selepas log masuk

控制器中:

$message = ['joytom','rocker'];Log::channel('custom')->info($message);
Salin selepas log masuk

九、迁移文件

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

会在database\migrations下创建一个文件:
Ringkaskan dan susun pengetahuan asas 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');
    }}
Salin selepas log masuk

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

写好SQL文件以后,执行:php artisan migrate
Ringkaskan dan susun pengetahuan asas Laravel
将会生成数据表,其中操作日志将记录在这个表中:

Ringkaskan dan susun pengetahuan asas Laravel
php artisan migrate:rollback:回滚最后一次的迁移操作, 删除(回滚)之后会删除迁移记录,并且数据表也会删除,但是迁移文件依旧存在,方便后期继续迁移(创建数据表)。

【相关推荐:laravel视频教程

Atas ialah kandungan terperinci Ringkaskan dan susun pengetahuan asas Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:csdn.net
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan