getting_started_with_laravel

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
getting_started_with_laravel [04.12.2020 11:16] – [Create Model + Controller + Migration all in one step] Pascal Sutergetting_started_with_laravel [04.12.2020 11:44] (current) – [Basics] Pascal Suter
Line 104: Line 104:
 **processing delete requests** are like posts, but we can't set the form method to ''DELETE'' so we need to use a blade function ''@method('DELETE')'' just after the form tag.  **processing delete requests** are like posts, but we can't set the form method to ''DELETE'' so we need to use a blade function ''@method('DELETE')'' just after the form tag. 
  
 +**sessions and flashing data** in laravel we can either store data into our session, like in normal php.. we can do this either via the ''session()'' helper which will save new key=>value pairs when it is passed an array as argument like ''session(['newkey',$someVar])'' for example. to get ''$someVar'' back we would use the helper like ''$someVar=session('newkey')''. alternatively, we can use an instance of the ''Request'' class and the ''put()'' and ''get()'' functions for the ''session'' property like so: ''$request->session()->put('tmpfiles',$tmpfiles);'' and vice versa ''$tmpfiles = $request->session()->get('tmpfiles',[]);'' notice a nice feature of the ''get()'' method: we can pass a default value as a second argument which will be returned in case the session variable is not set. that's pretty helpful. Session variables are also available in blades by using the ''session()'' helper like above. <br>
 +a specialty in laravel is, that we can **flash** data to a session. flashing means, that the data will only remain in the session for the next request. after that it will either be unset or we need to **reflash** to keep the flashed variables. to flash a variable to a session, we do the same as above with the ''get()'' function but now use a ''flash()'' method, that's it. 
 ===== Relations ===== ===== Relations =====
 relations are defined in the Model by adding a new public function to it.  relations are defined in the Model by adding a new public function to it. 
Line 195: Line 197:
 you may not always want to stop the execution, so another helper called ''dump()'' comes in handy here. it produces the same output but contines the execution of your script  you may not always want to stop the execution, so another helper called ''dump()'' comes in handy here. it produces the same output but contines the execution of your script 
  
-the latter is especially helpful when dumping variables in a blade. howeverif you use  +to use those helpers in a blade, there are special blade syntax helpers available which make it even easier:  
-<code> +<code>@dump($__data)</code> 
-{{ dump($__data) }} +for example dumps all defined variables. there is also ''@dd()'' helper available
-</code> +
-for example to get a dump of all defined variables in your blade, you are going to run into laravel error which tells you that htmlspecialchars only works with strings but got something else (an array most likely).+
  
-so to use dump in a blade, you can use a blade syntax ''@dump()'' which does what the above is supposed to do but does not generate this error. a detailed explanation why the error is generated is available [[https://stackoverflow.com/questions/48731507/laravel-dump-unexpected-output|on stackexchange]]+note that using <code>{{ dump($__data}}</code> won't work. there is a detailed explanation why [[https://stackoverflow.com/questions/48731507/laravel-dump-unexpected-output|on stackexchange]]
 ==== Create Model + Controller + Migration all in one step ==== ==== Create Model + Controller + Migration all in one step ====
   artisan make:model Pizza -mc   artisan make:model Pizza -mc
  • getting_started_with_laravel.1607077008.txt.gz
  • Last modified: 04.12.2020 11:16
  • by Pascal Suter