Advertisement
eimkasp

Laravel basics step-by-step

Oct 30th, 2019
250
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.03 KB | None | 0 0
  1. Noredami sukurti laravel projekta:
  2.  
  3.  
  4. 1. Instaliacijos dokumentacija: https://laravel.com/docs/5.8/installation
  5.  
  6. 2. sukuriame nauja php storm projekta
  7.  
  8. 3. Terminale paleisti komanda:  composer create-project --prefer-dist laravel/laravel blog "5.8.*"
  9.  
  10. 4. Einame i phpmyadmin, sukuriame nauja duombaze (pavadinimas naujienos)
  11.  
  12. 5. reikia paredaguoti .env faila ir nustatyti prisijungimus prie duombazes
  13. DB_DATABASE=naujienos
  14.  
  15. 6. Patikriname ar viskas veikia, paleidziame terminalo komanda: php artisan serve
  16.  
  17. 7. Sukuriame laravel autentifikacijos sistema, terminale paleidziame komanda: php artisan make:auth
  18.  
  19.     si komanda sukuria:
  20.     app/http/controllers/Auth kontrolerius
  21.     resources/views/auth View failus
  22.     database/migrations migracijos failai vartotoju duombazei
  23.     app/user - user modelis
  24.  
  25. 8. Paleisti komanda: php artisan migrate, pradiniam duombazes strukturos sukurimui
  26.  
  27.  
  28. Noredami sukurti savo nauja crud'a:
  29.  
  30. 1. sukursime nauja duomenu bazes lentele: php artisan make:migration create_news_table
  31.  
  32. 2. Migraciju dokumentacija: https://laravel.com/docs/5.8/migrations
  33.  
  34. 3. Pabaige rasyti migracija, paleidziame komanda: php artisan migrate
  35.  
  36. 4. Reikia sukurti news Modeli (idealiausia prasideda is didziosios raides ir yra vienaskaita):
  37.     php artisan make:model News
  38.     Modelis yra sukuriamas app/News.php folderyje
  39. 5. Modelio faile nurodome kokia db lentele jis turi naudoti:
  40.     protected $table = "news";
  41.  
  42. 6. Susikuriame naujienu kontroleri: php artisan make:controller NewsController
  43.     kontroleris sukuriamas app/http/controllers/NewsController.php
  44.     * galima naudoti --resource flag'a php artisan make:controller NewsController --resource
  45.     * tada musu controleryje bus sukuriamos visis pradiniai funkciju aprasymai
  46.  
  47. 7. Kontroleryje sukuriame index funkcija
  48.  
  49. 8. Pakoreguoti routes/web.php faila ir prideti savo route'us
  50.     Route::get('/news', 'NewsController@index')->name('news.index');
  51.  
  52. 9. Pasitikrinam ar viskas veikia: http://127.0.0.1:8000/news
  53.  
  54. 10. Susikuriame view faila: resources/views/news folderyje, pavadinimu index.blade.php (visu naujienu atvaizdavimui)
  55.     @extends('layouts.app')
  56.  
  57.     @section('content')
  58.         // Cia bus turinys
  59.     @endsection
  60.  
  61.  
  62. 11. NewsController index funkcijoje kreipiames i News modeli, kad gautume visas naujienas:
  63.  
  64.     $news = News::all();
  65.     * Failo virsuje naudojant nauja modeli, butinai turi buti:
  66.     use App\News;
  67.  
  68. 12. Index funkcijoje Atvaizduojame view faila ir perduodame duomenis is modelio:
  69.     return view('news.index', compact(['news']));
  70.  
  71. 13. Gryztame i savo view faila: resources/views/news/index.blade.php
  72.     ir aprasome duomenu atvaizdavima
  73.  
  74.         @extends('layouts.app')
  75.  
  76.         @section('content')
  77.             <div class="container">
  78.                 <div class="row">
  79.                     <div class="col-sm-12">
  80.                         <h1>Naujienos</h1>
  81.                     </div>
  82.                     @foreach($news as $newsItem)
  83.                         <div class="col-sm-12">
  84.                             <h3>{{ $newsItem->title }}</h3>
  85.                         </div>
  86.                     @endforeach
  87.                 </div>
  88.             </div>
  89.         @endsection
  90.  
  91. 14. Noredami padaryti konkrecios naujienos atvaidavima, apsirasome nauja route'a
  92.     routes/web.php faile;
  93.  
  94.     Route::get('/news/{id}', 'NewsController@show')->name('news.show');
  95.  
  96. 15. Paspaudus ant naujienos pavadinimo turetume nukreipti vartotoja i news.show route'a
  97.     <a href="{{ route('news.show', $newsItem->id )}}">
  98.         Naujienos pavadinimas
  99.     </a>
  100.  
  101. 16. Reikia pakoreguoti NewsController show funkcija, kad gauti duomenis is modelio ir atvaidzuoti naujiena
  102.  
  103.     public function show($id) {
  104.         $newsItem = News::findOrFail($id);
  105.  
  106.         return view('news.show', compact('newsItem'));
  107.     }
  108.  
  109. 17. Reikia sukurti news.show view faila, resources/views/news/show.blade.php
  110. ir aprasyti duomenu atvaizdavima
  111. @extends('layouts.app')
  112.  
  113. @section('content')
  114.    <div class="container">
  115.        <div class="row">
  116.            <div class="col-sm-12">
  117.                <h1>{{ $newsItem->title }}</h1>
  118.            </div>
  119.            <p>
  120.                {{ $newsItem->content }}
  121.            </p>
  122.        </div>
  123.    </div>
  124. @endsection
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement