Laravel 5 Команды, пакеты, фрагменты кода
В основном для версии 5.3
Команды
php artisan make:auth
php artisan route:list
php artisan make:controller Admin\AdminController
php artisan make:model User
php artisan make:model User –migration (or -m)
php artisan make:migration CreateTasksTables –create=tasks
php artisan migrate
php artisan migrate –seed
php artisan make:seeder UsersTableSeeder
php artisan make:request UserProfileRequest
php artisan db:seed –class=UsersTableSeeder
php artisan db:seed
php artisan make:middleware CheckSmth
php artisan make:mail OrderShipped
php artisan vendor:publish
php artisan session:table
php artisan make:observer UserObserver –model=User
Фрагменты кода
Передача данных из контроллера во все виды (например, переменную $user)
1 2 3 4 5 6 |
public function __construct() { view()->composer('*', function ($view) { $view->with('user', Auth::user()); }); } |
Поля модели
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 |
protected $primaryKey = 'id_tc'; protected $table = 'task_comments'; const CREATED_AT = 'created_date'; const UPDATED_AT = 'last_update'; protected $dateFormat = 'd-m-Y'; public $timestamps = false; protected $connection = 'conn-name'; //autoconvert to Carbon protected $dates=['published_at']; protected $casts = [ 'is_admin' => 'boolean', ]; //$guarded or $fillable protected $guarded = [ 'id_test' ]; protected $fillable = [ 'question', 'answers', 'true_answer' ]; protected $hidden = [ 'password', 'remember_token', ]; |
Методы модели
public function setDateAttribute( $value ) {
$this->attributes[‘date’] = (new Carbon($value))->format(‘d/m/y’);
}
Route
В App\Providers\RouteServiceProvider.php
1 2 3 4 5 6 |
public function boot() { Route::pattern('id', '[0-9]+'); parent::boot(); } |
В routes/web.php
1 2 3 4 5 6 7 8 |
Route::group(['prefix'=>'teacher','middleware'=>['auth','frozen']],function(){ Route::get('/', 'TeacherCourseController@getCourses'); Route::group(['prefix'=>'course'], function(){ Route::get('lessons/{id}', 'TeacherController@getLessons'); Route::post('lessons/{id}', 'TeacherController@postLessons');; }); }); |
Работа с формой
1 |
{{ csrf_field() }} |
Настройка письма сброса пароля
php artisan vendor:publish
recourses/views/vendor/notifications/email.blade.php
vendor/laravel/framework/src/Illuminate/Auth/Notifications/ResetPassword.php
public function toMail($notifiable)
{
return (new MailMessage)
->subject(‘Сброс пароля для личного кабинета’)
->line(‘Вы читаете это письмо, так как мы получили запрос на восстановление пароля к Вашему аккаунту.’)
->action(‘Для установки нового пароля перейдите по ссылке ‘, url(‘password/reset’, $this->token))
->line(‘Если же Вы не забыли свой пароль, то просто удалите это письмо.’);
}
Импорт excel с помощью Maatwebsite/excel
1 2 3 4 5 6 7 8 9 10 11 12 13 |
//в xlsx файла два столбца с заголовками email и phone //import_xlsx - имя поля <input type="file"> в форме //код из обработки post от формы: if ($r->hasFile('import_xlsx') && $r->file('import_xlsx')->getClientOriginalExtension() == "xlsx") { $path = $r->file('import_xlsx')->getRealPath(); $data = Excel::load($path, function($reader) { })->get(); foreach($data as $d) { echo $d->email.' '.$d->phone.'<br>'; } } |
Разное
$obj = (object)[“length”=>123, “name” => “Abc”];
Пакеты
- Laravel 5 IDE Helper Generator ссылка
- Laravel-Exceptions ссылка
- Laravel-debugbar ссылка (composer require barryvdh/laravel-debugbar – composer update – Barryvdh\Debugbar\ServiceProvider::class в config\app.php)
- Laravelcollective/html ссылка (composer require “laravelcollective/html”:”^5.3.0″ – Collective\Html\HtmlServiceProvider::class, – aliases: ‘Form’ => Collective\Html\FormFacade::class,
‘Html’ => Collective\Html\HtmlFacade::class,) - Mewebstudio/captcha ссылка (composer require mews/captcha)
- Laravel-lipsum ссылка
- Stolz-assets ссылка
- ConsoleTVs/Charts ссылка документация (4 версия)
- Maatwebsite/excel ссылка (экспорт/импорт в csv, xlsx, xls, pdf) проблема с русским текстом
Файлы
- _ide_helper.php (версия 5.1, разместить в корень проекта)
- ru.rar (в resources\lang, для auth, pagination, passwords, validation)
Книги
- W. Jason Gilmore – Easy Laravel 5 – 2015.pdf
- Laravel_Up_and_Running_A_Fram_-_Matt_Stauffer.epub
- Dayle Rees – Laravel – Code Smart – 2016.pdf
Git
Чтобы удалить ветку из локального Git-репозитория, выполните:
$ git branch -d <имя_ветки>
Чтобы удалить ветку из удаленного Git-репозитория, выполните:
$ git push origin –delete <имя_ветки>
Чтобы создать новую ветку, выполните:
git checkout development
git pull origin development
git checkout -b your_branch_name
После работы в ветке, выполните
git checkout development
git merge your_branch_name
git push origin development
Коммит
1 |
git commit -m "My message" |