laravel workshops 1

Post on 15-Apr-2017

283 Views

Category:

Internet

2 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Laravel Workshops

Software House

Warsztaty dla początkujących

Software House

WiFi :)

network: APIPpassword: apip@ppnt!

2003 - PRESENT

desmart

desmartcom

desmartcom

Kamil Fojuth

Software House

fojuth

2012 - PRESENT

fojuth

Software House

Dlaczego Laravel?

Software House

Co będziemy robić?

- prosty blog (szok!)- MVC- CRUD- http://laravel.com/docs/5.0

Software House

Wszyscy gotowi?Można zaczynać?

- projekt postawiony? działa?- baza danych jest?

Software House

.env

- co to jest? do czego to?- dlaczego nie możemy tego commit'nąć do repo?- wypełniamy dane dotyczące MySQL

cp .env.example .env

DB_HOST=localhostDB_DATABASE=desmart_workshopDB_USERNAME=rootDB_PASSWORD=pwd

Software House

Migracje i seed'y- http://laravel.com/docs/5.0/migrations- czym są migracje? po co to?- seed'y? wat?- artisan - nasz przyjaciel

Software House

Migracjephp artisan make:migration create_table_foo_bar;

$table->increments('id');$table->string('varchar_column_title');$table->text('text_column_title');

$table->integer('post_id')->unsigned();$table->foreign('post_id')->references('id')->on('posts');

Pamiętamy, aby utworzyć również "rollback" dla każdej migracji.

Software House

MigracjeObie migracje gotowe? To odpalamy!

php artisan migrate

Coś poszło nie tak? Cofamy ostatnią migrację!

php artisan migrate:rollback

Software House

Seed'ySeed'y to klasy ułatwiające wypełnienie bazy przykładowymi danymi.

Ale po co? Pomagają np. testerom - możemy "odświeżyć" bazę danych, przywracając ją do określonego stanu. Szczególnie przydatne w przypadku testów automatycznych (np. Selenium).

php artisan db:seed

Software House

MVC

Software House

Trasy / Routes

Route::any('/welcome', function(){

return 'Welcome!';});

Route::get('/foo', 'FooController@index');

Route::post('/user/{id}/edit', 'UserController@update');

Route::resource('photo', 'PhotoController');

app/Http/routes.php

Software House

Filtry / MiddlewareRoute::group(['middleware' => ['auth']], function(){ Route::get('/', function() { // User musi być zalogowany });});

Software House

Model

Post::all();Post::find(3);

$post = Post::where('title', '=', 'Cool Story')->first();$post->title = 'New title';$post->save();

http://laravel.com/docs/5.0/eloquent

Model jest reprezentacją tabeli w bazie danych.

Software House

PostControllerhttp://laravel.com/docs/5.0/controllers

Model: app/Post.php, app/Comment.phpView: resources/views/posts/index.blade.phpController: app/Http/Controllers/PostController.php

- trasa /posts ma zwracać widok posts/index.blade.php- do widoku trzeba przekazać wszystkie posty (jako $posts)

Software House

- trasa /posts/create (GET) ma zwracać widok posts/create.blade.php

- trasa /posts/create (POST) ma tworzyć nowy wpis- po utworzeniu nowego wpisu ma nastąpić przekierowanie na widok z

listą wpisów

Dodawanie wpisu

Software House

Usuwanie wpisu- na liście wpisów ma być guzik do usuwania wpisu- trasa /posts/{id}/delete ma usuwać wpis- po usunięciu wpisu ma nastąpić przekierowanie na widok z listą

wpisów

Software House

- na liście wpisów ma być guzik do edycji wpisu- trasa /posts/{id} (GET) ma wyświetlać formularz edycji

wpisu- trasa /posts/{id} (POST) ma zapisać zmiany- po zapisie zmian ma nastąpić przekierowanie na widok z listą wpisów

Można zmodyfikować istniejący widok posts/create.blade.php lub utworzyć nowy.

Formularz powinien być wypełniony aktualnymi danymi. Jak to zrobić?

Edycja wpisu

Software House

Dziękuję!

Software House

Podobało się?

Kolejne warsztaty zależą od Was!

top related