Heim > Backend-Entwicklung > PHP-Tutorial > Die Grundlagen des Laravel-Lernens

Die Grundlagen des Laravel-Lernens

不言
Freigeben: 2023-04-02 10:50:01
Original
2582 Leute haben es durchsucht

Dieser Artikel stellt hauptsächlich das Grundwissen über das Laravel-Lernen vor, das einen gewissen Referenzwert hat. Jetzt können Freunde in Not darauf zurückgreifen

Der vollständige Name von MVC ist Model View Controller, die Abkürzung für Model-View-Controller.
Model ist der Teil der Anwendung, der die Anwendungsdatenlogik verarbeitet.

View ist der Teil der Anwendung der die Datenanzeige verarbeitet
Controller ist der Teil der Anwendung, der die Benutzerinteraktion verarbeitet

2 >
app Enthält den Kerncode des Benutzers

Die Grundlagen des Laravel-Lernensbooststrap enthält Framework-Start- und Konfigurationsladedateien

  • config enthält alle Konfigurationsdateien

  • Datenbank enthält Datenbankfüll- und Migrationsdateien

  • Öffentlich enthält Projekteinträge und statische Ressourcendateien

  • Ressource enthält Ansichten und Original Die Ressourcendatei

  • stroage enthält kompilierte Vorlagendateien sowie dateibasierte Sitzungs- und Dateicache-, Protokoll- und Frameworkdateien

  • testet Unit-Tests Datei

  • wendor enthält Abhängigkeitsdateien von compose

  • 3. Routing

  • Routing mehrerer Anfragen
  • Route::match(['get', 'post']), 'match', funtion()
    {
        return 'match';
    });
    Route::any(['get', 'post']),  funtion()
    {
        return 'any';
    });
    Nach dem Login kopieren

    Routing-Parameter

    Route::get('user/{name}',  funtion($name)
    {
        return $id;
    })->where('name', '[A-Za-z]+');
    Route::get('user/{id}/{name?}',  funtion($id, $name='phyxiao')
    {
        return $id. $name;
    })->where(['id' => '[0-9]+', 'name'=> '[A-Za-z]+']);
    Nach dem Login kopieren
  • Routing-Alias
Route::get('user/home',  ['as' => 'home', funtion()
{
    return route('home');
}]);
Nach dem Login kopieren

Routing-Gruppe

Route::group(['prefix' => 'user'], funtion()
{
    Route::get('home', funtion()
   {
    return 'home';
   });
    Route::get('about', funtion()
   {
    return 'about';
   });
});
Nach dem Login kopieren

Routing-Ausgabeansicht

Route::get('index',  funtion()
{
    return view('welcome');
});
Nach dem Login kopieren

4. Controller

Erstellen Steuergerät

php artisan make:controller UserController
php artisan make:controller UserController --plain
Nach dem Login kopieren

Route zugeordneter Controller

Route::get('index',  'UserController@index');
Nach dem Login kopieren

5. Modell

php artisan make:model User
Nach dem Login kopieren

6. Datenbank

Drei Möglichkeiten:

DB facode Raw Lookup

,

Query Builder

und

Eloquent ORM

bezogene Dateien

config/database.php, .env Abfragekonstruktor

$bool = DB::table('user')->insert(['name => phyxiao', 'age' => 18]);
$id = DB::table('user')->insertGetId(['name => phyxiao', 'age' => 18]);
$bool = DB::table('user')->insert([
    ['name => phyxiao', 'age' => 18],
    ['name => aoteman', 'age' => 19],
);
var_dump($bool);
Nach dem Login kopieren
$num= DB::table('user')->where('id', 12)->update(['age' => 30]);
$num= DB::table('user')->increment('age', 3);
$num= DB::table('user')->decrement('age', 3);
$num= DB::table('user')->where('id', 12)->increment('age', 3);
$num= DB::table('user')->where('id', 12)->increment('age', 3, ['name' =>'handsome']);
Nach dem Login kopieren
$num= DB::table('user')->where('id', 12)->delete();
$num= DB::table('user')->where('id', '>=', 12)->delete();
DB::table('user')->truncate();
Nach dem Login kopieren
$users= DB::table('user')->get();
$users= DB::table('user')->where('id', '>=', 12)->get();
$users= DB::table('user')->whereRaw('id >= ? and age > ?', [12, 18])->get();
dd(users);
$user= DB::table('user')->orderBy('id', 'desc')->first();
$names = DB::table('user')->pluck('name');
$names = DB::table('user')->lists('name', 'id');
$users= DB::table('user')->select('id', 'age', 'name')->get();
$users= DB::table('user')->chunk(100, function($user){
dd($user);
if($user->name == 'phyxiao')
return false;
});
Nach dem Login kopieren
$num= DB::table('user')->count();
$max= DB::table('user')->max('age');
$min= DB::table('user')->min('age');
$avg= DB::table('user')->avg('age');
$sum= DB::table('user')->avg('sum');
Nach dem Login kopieren
Eloquentes ORM
// 建立模型
// app/user.php
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
    //指定表名
    protected $table = &#39;user&#39;;
    //指定id
    protected $primaryKey= &#39;id&#39;;
    //指定允许批量赋值的字段
    protected $fillable= [&#39;name&#39;, &#39;age&#39;];
    //指定不允许批量赋值的字段
    protected $guarded= [];
    //自动维护时间戳
    public $timestamps = true;

    protected function getDateFormat()
    {
        return time();
    }
    protected function asDateTime($val)
    {
        return val;
    }
}
Nach dem Login kopieren
// ORM操作
// app/Http/Contollers/userController.php
public function orm()
{
    //all
    $students = Student::all();
    //find
    $student = Student::find(12);
    //findOrFail
    $student = Student::findOrFail(12);
    // 结合查询构造器
    $students = Student::get();
    $students = Student::where(&#39;id&#39;, &#39;>=&#39;, &#39;10&#39;)->orderBy(&#39;age&#39;, &#39;desc&#39;)->first();
    $num = Student::count();


    //使用模型新增数据
    $students = new Student();
    $students->name = &#39;phyxiao&#39;;
    $students->age= 18;
    $bool = $student->save();

    $student = Student::find(20);
    echo date(&#39;Y-m-d H:i:s&#39;, $student->created_at);


    //使用模型的Create方法新增数据
    $students = Student::create(
        [&#39;name&#39; => &#39;phyxiao&#39;, &#39;age&#39; => 18]
    );
    //firstOrCreate()
    $student = Student::firstOrCreate(
        [&#39;name&#39; => &#39;phyxiao&#39;]
    );
    //firstOrNew()
    $student = Student::firstOrNew(
        [&#39;name&#39; => &#39;phyxiao&#39;]
    );
    $bool= $student->save();


    //使用模型更新数据
    $student = Student::find(20);
    $student->name = &#39;phyxiao&#39;;
    $student->age= 18;
    $bool = $student->save();

    $num = Student::where(&#39;id&#39;, &#39;>&#39;, 20)->update([&#39;age&#39; => 40]);


    //使用模型删除数据
    $student = Student::find(20);
    $bool = $student->delete();
    //使用主见删除数据
    $num= Student::destroy(20);
    $num= Student::destroy([20, 21]);

    $num= Student::where(&#39;id&#39;, &#39;>&#39;, 20)->delete;

}
Nach dem Login kopieren
7. Blade Template Engine
<!--展示某个section内容 占位符-->
@yield(&#39;content&#39;, &#39;内容&#39;)
<!--定义视图片段-->
@section(‘header’)
头部
@show
Nach dem Login kopieren
@extends(&#39;layouts&#39;)
@section(‘header’)
    @parent
    header
@stop
@section(‘content’)
    content
    <!--模板输出php变量-->
    <p>{{$name}}</p>
    <!--模板调用php代码-->
    <p>{{ time() }}</p>
    <p>{{ date(&#39;Y-m-d H:i:s&#39;, time()) }}</p>

    <p>{{ in_array($name, $arr) ? &#39;true&#39;: &#39;false&#39; }}</p>
    <p>{{ $name or &#39;default&#39; }}</p>

    <!--原样输出-->
    <p>@{{$name}}</p>

    {{--模板注释--}}

    {{--引入子视图--}}
    @include(&#39;common&#39;, [&#39;msg&#39; => &#39;erro&#39;])

    {{--流控制--}}
    @if ($name == &#39;phyxiao&#39;)
        I&#39;m phyxiao
    @elseif($name == &#39;handsome&#39;)
        I&#39;m handsome
    @else
        none
    @endif

    @unless($name == &#39;phyxiao&#39;)
        ture
    @endunless

    @for($i=0; $i < 10; $i++)
        {{$i}}
    @endfor

    @foreach($students as $student)
        {{$student->name}}
    @endfor

    @forelse($students as $student)
        {{$student->name}}
    @empty
        null
    @endforelse

    <a herf = "{{url(&#39;url&#39;)}}">text</a>
    <a herf = "{{action(&#39;UserController@index&#39;)}}">text</a>
    <a herf = "{{route(&#39;url&#39;)}}">text</a>

@stop
Nach dem Login kopieren
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, das wird so sein Für alle nützlich sein Lernen ist hilfreich. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website!

Verwandte Empfehlungen:

Laravels Verzeichnisstruktur

Das obige ist der detaillierte Inhalt vonDie Grundlagen des Laravel-Lernens. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage