Laravel alapok
A laravel egy php mvc framework. A telepítést nézzük meg, az alap parancsokat és konfigurálást. |
|
Telepítsünk laravel-t (5.8):# apt-get install php-mbstring # composer install # composer global require laravel/installer # export PATH=~/.composer/vendor/bin:$PATH # laravel new blog Laravel 8: curl -s https://laravel.build/example-app | bash Ha nincs .env fájlunk akkor az .env.example-t nevezzük át, állítsuk be az adatbázis elérést is. Kapcsoljuk be a debug módot is: APP_DEBUG=true Generáljunk kulcsot: # php artisan key:generate Route-ok listája: # php artisan route:list A routes mappában vannak a routing fájlok. Az api.php-ban a rest api-s route-ok pl: Route::get('/city', 'CitiesController@index'); Route::get('/city/show/{Cities}', 'CitiesController@show'); Route::post('/city/store', 'CitiesController@store'); Route::put('/city/update/{Cities}', 'CitiesController@update'); Route::delete('/city/destroy/{Cities}', 'CitiesController@destroy'); Itt a routing-nál tudunk logokat is készíteni az sql hívásokról, amiket a store/logs mappában találhatóak meg: \Event::listen('Illuminate\Database\Events\QueryExecuted', function ($query) { Log::info(json_encode($query->sql)); Log::info(json_encode($query->bindings)); Log::info( json_encode($query->time) ); }); Lehet route group-osokat csinálni: Route::group(['middleware' => ['jwt.verify', 'jwt.refresh', 'cors']], function () { Lehet middleware-eket definiálni az app/Http/Middleware mappában. Van after és before. Request mappában találhatjuk a mező validációkat pl: <?php namespace App\Http\Requests; use Illuminate\Foundation\Http\FormRequest; use App\Http\Requests\ApiRequest; class CitiesRequest extends ApiRequest { /** * Determine if the user is authorized to make this request. * * @return bool */ public function authorize() { return true; } /** * Get the validation rules that apply to the request. * * @return array */ public function rules() { return [ 'name' => 'required|string|max:50', 'post_code' => 'required|string|max:32' ]; } } Az app\Models mappában találjuk a modelleket. <?php namespace App\Models; use Illuminate\Database\Eloquent\Model; class Cities extends Model { protected $table = 'cities'; /** * The attributes that are mass assignable. * * @var array */ protected $fillable = [ 'name', 'post_code' ]; public $timestamps = false; } Itt írhatunk "join-os" lekérdezéseket pl workgroups-hoz a workereket: class Workgroups extends Model { protected $table = 'workgroups'; public function workers() { return $this ->belongsToMany('App\Models\Workers','workgroups_workers','workgroup_id','worker_id','id','worker_id') ->using('App\Models\WorkgroupsWorkers') ->withPivot('moved_in', 'moved_out','active'); } Provider mappában a RouteServiceProvider.php -ban betudjuk állítani, hogy a roting-ban használt model azonosítókat feltudja oldani: class RouteServiceProvider extends ServiceProvider { public function boot() { parent::boot(); Route::model('Cities', 'App\Models\Cities'); Kontroller generálás: # php artisan make:controller ProjectController Cache ürítés: # php artisan clear:cache Migráció készítése: # php artisan make:model AdminContent -m Migráció futtatása: # php artisan migrate Az 5.8-ban alapból a vue van, de lecserélhetjük reactra: # php artisan preset react # npm install # npm install react-router-dom # npm install --save react-modal-bootstrap Ahhoz hogy a js és scss fájlokat lefordítsa a webpack a következő parancsokat használhatjuk: # npm run dev # npm run watch https://laravel.com/docs/5.8 https://laravel.com/docs/5.8/configuration https://laravel.com/docs/5.8/migrations https://laravel.com/docs/5.8/frontend https://laravel.com/docs/5.8/mix https://github.com/laravel/laravel https://appdividend.com/2018/02/23/laravel-5-6-crud-tutorial/ https://stillat.com/blog/2016/12/07/laravel-artisan-route-command-the-routelist-command https://www.innonic.com/blog/terjunk-webpackre-1-resz/ https://blog.pusher.com/react-laravel-application/ |
2019.07.20. |
Figyelem! Az itt olvasható leírások, nem teljesek és nem biztos, hogy pontosak. Nem
frissülnek folyamatosan, ezért nem mindegyik használható az aktuális verziójú rendszerekben. Mindenki saját
felelősségére használja az itt található ötleteket. Az esetleges károkért nem vállalunk felelősséget.