<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Lam Hoang</title>
    <description>The latest articles on DEV Community by Lam Hoang (@lamhoanganh).</description>
    <link>https://dev.to/lamhoanganh</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F340120%2F3ea1a8a1-3699-4341-b84f-571317167e9e.jpg</url>
      <title>DEV Community: Lam Hoang</title>
      <link>https://dev.to/lamhoanganh</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/lamhoanganh"/>
    <language>en</language>
    <item>
      <title>Regex Cheat Sheet</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Mon, 13 Jul 2020 02:58:07 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/regex-cheat-sheet-1d1a</link>
      <guid>https://dev.to/lamhoanganh/regex-cheat-sheet-1d1a</guid>
      <description>&lt;p&gt;Full &lt;a href="https://simplecheatsheet.com/tag/regex-cheat-sheet/"&gt;Regex Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Basics
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;/ expression / flags, i.e /[A-Z]+/g basic format&lt;/li&gt;
&lt;li&gt;/ hello\?*\/ escape special characters with backslashes&lt;/li&gt;
&lt;li&gt;() group with parentheses&lt;/li&gt;
&lt;li&gt;| logical OR&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Character classes
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;\w word \d digit \s whitespace (tabs, line breaks)&lt;/li&gt;
&lt;li&gt;\W NOT word \D NOT digit \S NOT whitespace&lt;/li&gt;
&lt;li&gt;\t tabs, \n line breaks&lt;/li&gt;
&lt;li&gt;. any character (except newline)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Brackets
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;[xyz] match any x, y, z&lt;/li&gt;
&lt;li&gt;[J-Z] match any capital letters between J &amp;amp; Z.&lt;/li&gt;
&lt;li&gt;[^xyz] NOT x, y, z&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Quantification
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;bob|alice match bob or alice&lt;/li&gt;
&lt;li&gt;z? zero or one occurrences&lt;/li&gt;
&lt;li&gt;z* zero or multiple occurrences&lt;/li&gt;
&lt;li&gt;z+ one or multiple occurrences&lt;/li&gt;
&lt;li&gt;z{n} n occurrences&lt;/li&gt;
&lt;li&gt;z{min,max} min/max occurrences&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Anchors
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;hello world exact match&lt;/li&gt;
&lt;li&gt;^hello start of the strings&lt;/li&gt;
&lt;li&gt;world$ end of the string&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>regex</category>
    </item>
    <item>
      <title>Laravel Cheat Sheet</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Tue, 09 Jun 2020 09:32:27 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/laravel-cheat-sheet-39i</link>
      <guid>https://dev.to/lamhoanganh/laravel-cheat-sheet-39i</guid>
      <description>&lt;p&gt;&lt;a href="http://simplecheatsheet.com/tag/laravel-cheat-sheet/"&gt;Full version Laravel Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Setup Laravel Environment
&lt;/h3&gt;

&lt;p&gt;Chose running the Bitnami WAMP stack instead of using Homestead&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download Bitnami 5.6 WAMP stack&lt;/li&gt;
&lt;li&gt;uncomment C:\Bitnami\wampstack-5.6.30-1\apache2\conf\bitnami\bitnami-apps-prefix.conf and
uncomment Include "C:/Bitnami/wampstack-5.6.30-1/frameworks/laravel/conf/httpd-prefix.conf"&lt;/li&gt;
&lt;li&gt;Restart the servers&lt;/li&gt;
&lt;li&gt;add C:\Bitnami\wampstack-5.6.30-1\frameworks\laravel to your windows path&lt;/li&gt;
&lt;li&gt;Run the bitnami bash shell by executing 'use_wampstack.bat' from the bitnami application root folder.&lt;/li&gt;
&lt;li&gt;test your laravel installation by typing php artisan serve [--port=8000] . Will serve by default on port 8000. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Add the following to your path so you can use the laravel.bat&lt;br&gt;
C:\Users\motero\AppData\Roaming\Composer\vendor\bin&lt;/p&gt;

&lt;p&gt;Get the laravel installer using composer&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;composer global require "laravel/installer"&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Once installed you can use the&lt;br&gt;
laravel new command to create a fresh laravel installation in the directory you specify.&lt;/p&gt;
&lt;h3&gt;
  
  
  Creating a new project
&lt;/h3&gt;



&lt;p&gt;&lt;code&gt;Create a project: composer create-project myprojectname&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;If you get any errors when running php artisan serve&lt;br&gt;
or any artisan commands then run:&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;composer update --no-scripts&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;You may also need to regenerate the ciphers for the project:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan key:generate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;from your project folder.&lt;/p&gt;

&lt;p&gt;Alternative is Laravel Homestead, which comes with Nginx, PHP 5.6, MySQL, Redis, Memcached, and Beanstalk. &lt;/p&gt;

&lt;p&gt;&lt;a href="https://laravel.com/docs/4.2/homestead"&gt;https://laravel.com/docs/4.2/homestead&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Routes are in /config/web.php&lt;/p&gt;

&lt;p&gt;views are in resources/views/myview.blade.php&lt;/p&gt;

&lt;h2&gt;
  
  
  Working with Databases
&lt;/h2&gt;

&lt;p&gt;Consider using MariaDB versus MySQL&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;mysql -uroot -p
create database databasename;
use databasename;

show tables;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Setup your database connection information in the .env file.&lt;/p&gt;

&lt;p&gt;From command line (inside the project folder):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan migrate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make: These are your file generators
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Prepare the Migration&lt;/strong&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// creates the migration stub and the database table as well.
// Creates a migration stub under the /project/database/migrations folder

artisan make:model create_database_name --create=tasks 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;modify database columns&lt;/strong&gt; &lt;br&gt;
You do this by modifying the file at /database/migrations/create_database_name&lt;/p&gt;

&lt;p&gt;Migrate the database&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan migrate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan help make:model [Artisan Help Feature]
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;when you make a mistake, delete the item from the database stub file, and refresh your migration.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan migrate:refresh // rolls back and reruns the migrations
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Fetching database records ###
&lt;/h3&gt;

&lt;p&gt;in web.php routes&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$tasks&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;DB&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'tasks'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;//Laravel Query Builder&lt;/span&gt;

&lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;view&lt;/span&gt; &lt;span class="nx"&gt;get&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt; &lt;span class="nx"&gt;from&lt;/span&gt; &lt;span class="nx"&gt;the&lt;/span&gt; &lt;span class="nx"&gt;database&lt;/span&gt;&lt;span class="o"&gt;:&lt;/span&gt;
&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$task&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;body&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;

&lt;span class="nx"&gt;dd&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// die and dump [get more info on this&lt;/span&gt;

  &lt;span class="nv"&gt;$task&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="nx"&gt;DB&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;table&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'tasks'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;find&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$id&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/tasks/{task}'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$id&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="p"&gt;{&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Hyperlinking to dynamic ids&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;li&amp;gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"/tasks/{{ $task-&amp;gt;id}}"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;{{ $task-&amp;gt;body }}&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;If you ever return a database result from a view, Laravel returns it as JSON.&lt;/li&gt;
&lt;/ul&gt;

&lt;h4&gt;
  
  
  Creating a new database table
&lt;/h4&gt;

&lt;p&gt;Make a new Comment model, and make migration&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;php artisan make:model Comment -m&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Edit the migrations file to add any additional fields.&lt;/p&gt;

&lt;p&gt;If one to many relatioship the many takes the id of the one.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;integer&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'post_id'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Migrate the database&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;php artisan migrate&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;Add many relationship to Post model&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;Post&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Model&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;comments&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;hasMany&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;Comment&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;class&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Eloquent
&lt;/h2&gt;

&lt;p&gt;A model is a representation of something in your system. It could be a noun. &lt;br&gt;
It is Laravel's active record implementation. simplifies your interaction.&lt;/p&gt;

&lt;p&gt;This creates /app/task.php&lt;/p&gt;

&lt;p&gt;Errors:&lt;/p&gt;

&lt;p&gt;The only supported ciphers are AES-128-CBC and AES-256-CBC with the correct key lengths.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;php artisan key:generate&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;error related to not having a .env file. Renamed .env.example to .env then run&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan key:generate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;You may need to add the composer.bat / composer.phar files to your PATH. The location is here: C:\ProgramData\ComposerSetup\bin&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:model Task -m // make model and a migration file
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;composer dump-autoload // in case you get an error message when creating the model and migration.
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Blade Templating Language
&lt;/h2&gt;

&lt;p&gt;Blade is laravel's templating language.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:model task
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Create a model with singular noun. php artisan make:model MyModel&lt;/p&gt;

&lt;h3&gt;
  
  
  Tinker
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan tinker // boots up Laravel's Shell
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;It allows you to replace the  php directive with @&lt;/p&gt;

&lt;h2&gt;
  
  
  Using Controllers
&lt;/h2&gt;

&lt;p&gt;The middleman. Receive a request and will ask a task or post model to get the data and then passes it to the view. &lt;/p&gt;

&lt;p&gt;Controller Deletgates.&lt;br&gt;
Model fetches data&lt;br&gt;
View HTML&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nx"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/tasks'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'TasksController@index'&lt;/span&gt; &lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;//@index is the index method&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Controllers are stored in /app/Http/Controllers&lt;/p&gt;

&lt;p&gt;use a make controller generator to generate your controllers&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:controller TasksController
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Variables and wildcards in route  controllers should match.&lt;/p&gt;

&lt;h4&gt;
  
  
  registering routes ###
&lt;/h4&gt;

&lt;p&gt;Routes are registered in /routes/web.php&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nx"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'PostsController@index'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
&lt;span class="nx"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;get&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/posts/{post}'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'PostsController@show'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// Corresponds to /posts/show.blade.php &lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;controller lives in /app/http/controllers In this case postscontroller.php&lt;/p&gt;

&lt;h2&gt;
  
  
  Layouts
&lt;/h2&gt;

&lt;p&gt;in resources/views &lt;/p&gt;

&lt;p&gt;create layout.blade.php&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;yield&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Assets
&lt;/h4&gt;

&lt;p&gt;found in /resources/assets&lt;/p&gt;

&lt;p&gt;/sass folder&lt;/p&gt;

&lt;p&gt;use a build tool called &lt;strong&gt;webpack&lt;/strong&gt; using Laravel's &lt;strong&gt;Mix&lt;/strong&gt; configuration tool. It grabs the file in the resources/assets folder and compiles it for use in the /public folder.&lt;/p&gt;

&lt;p&gt;They are node dependencies. You need to have Node and npm installed on your machine. &lt;/p&gt;

&lt;p&gt;from your application folder run:&lt;br&gt;
&lt;br&gt;
 &lt;code&gt;npm install&lt;/code&gt;&lt;br&gt;
&lt;br&gt;
 Pulls in packages found in your &lt;strong&gt;package.json&lt;/strong&gt; file.&lt;/p&gt;

&lt;p&gt;You can run the files based on your package.json scripts section.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;npm run dev&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;h3&gt;
  
  
  Order of Things
&lt;/h3&gt;

&lt;p&gt;&lt;strong&gt;IMPORTANT&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;// controller =&amp;gt; PostsController&lt;br&gt;
// php artisan make:controller PostsController&lt;/p&gt;

&lt;p&gt;// eloquent Model  =&amp;gt; Post&lt;br&gt;
// php artisan make:model Post&lt;/p&gt;

&lt;p&gt;// migration =&amp;gt; create_posts_table&lt;br&gt;
// php artisan make:migration create_posts_table --create=posts&lt;br&gt;
// You an do them all indivdiually as above, or you can have Laravel&lt;br&gt;
// create the model and the migration when you create the controller.&lt;/p&gt;

&lt;p&gt;// php artisan make:model Post -mc&lt;/p&gt;

&lt;p&gt;// after running the above command go into the migrations file in&lt;br&gt;
// /database/migrations and add the columns you need&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;increments&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'id'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// default&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;string&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'title'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt; &lt;span class="c1"&gt;// added this one&lt;/span&gt;
            &lt;span class="nv"&gt;$table&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;timestamps&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt; &lt;span class="c1"&gt;// default&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;[ Add information on the types of columns that you can create and examples for them]&lt;/p&gt;

&lt;p&gt;Migrate the database:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan migrate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;go to your controller and add the required methods to link it back to the view, or get data from the model, etc..&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="kd"&gt;class&lt;/span&gt; &lt;span class="nc"&gt;PostsController&lt;/span&gt; &lt;span class="k"&gt;extends&lt;/span&gt; &lt;span class="nx"&gt;Controller&lt;/span&gt;
&lt;span class="p"&gt;{&lt;/span&gt;
    &lt;span class="c1"&gt;//add methods&lt;/span&gt;
    &lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;index&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;view&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'posts.index'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt; 

&lt;span class="p"&gt;}&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;strong&gt;Create your view file.&lt;/strong&gt;&lt;br&gt;
/resources/views/posts/index.blade.php&lt;/p&gt;

&lt;p&gt;View can then extend the layout file:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;extends&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'layout'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;section&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="nx"&gt;This&lt;/span&gt; &lt;span class="nx"&gt;is&lt;/span&gt; &lt;span class="nx"&gt;my&lt;/span&gt; &lt;span class="nx"&gt;content&lt;/span&gt; &lt;span class="nx"&gt;section&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="nx"&gt;this&lt;/span&gt; &lt;span class="nx"&gt;is&lt;/span&gt; &lt;span class="nx"&gt;only&lt;/span&gt; &lt;span class="nx"&gt;a&lt;/span&gt; &lt;span class="nx"&gt;test&lt;/span&gt;&lt;span class="o"&gt;.&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;p&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;endsection&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;





&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;test your creation: php artisan serve
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Folder Structure
&lt;/h3&gt;

&lt;p&gt;created a /layouts folder&lt;/p&gt;

&lt;p&gt;Have these partials in the folder&lt;br&gt;
master.blade.php&lt;br&gt;
nav.blade.php&lt;br&gt;
sidebar.blade.php&lt;br&gt;
footer.blade.php&lt;/p&gt;

&lt;p&gt;/posts/&lt;br&gt;
index.blade.php {this is where the posts live}&lt;/p&gt;

&lt;p&gt;index extends the master layout with&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;extends&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'layouts.master'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="nx"&gt;section&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'content'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt; &lt;span class="c1"&gt;// starts all of the content pieces.&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;master.blade.php &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;links to the partials via:&lt;/strong&gt;&lt;br&gt;
&lt;a class="comment-mentioned-user" href="https://dev.to/include"&gt;@include&lt;/a&gt;
('layouts.nav')&lt;br&gt;
@yeld('content') &lt;br&gt;
&lt;a class="comment-mentioned-user" href="https://dev.to/include"&gt;@include&lt;/a&gt;
('footer.nav')&lt;br&gt;
&lt;a class="comment-mentioned-user" href="https://dev.to/include"&gt;@include&lt;/a&gt;
('layouts.footer')&lt;/p&gt;

&lt;p&gt;CSS and JS files can go in the /public folder and are referenced like this: /css/styles.css.&lt;/p&gt;
&lt;h2&gt;
  
  
  Working with Forms
&lt;/h2&gt;


&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;  &lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"POST"&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"/posts"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;

  GET /posts - view all of the posts
  GET /posts/create - create a post
  GET /posts/{id}/edit - edit a specific post 
  GET /posts/{id} - displays a single post specified by the ID in the URL
  PATCH /posts - send to database
  DELETE /posts/{id} 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="c1"&gt;// @store is the method in the PostController&lt;/span&gt;
  &lt;span class="nx"&gt;Route&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;post&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/posts'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'PostsController@store'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;  
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;//creates a resourceful controller, a boilerplate with all of the types of responses.
artisan make:controller TasksController -r 
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;h4&gt;
  
  
  CSRF - Cross Site Request Forgery
&lt;/h4&gt;

&lt;p&gt;Laravel automatically generates a CSRF token for each active user session managed by the application. This token is used to  verify that the authenticated users is the one actually making teh requests to the application. &lt;/p&gt;

&lt;p&gt;Anytime you define an HTML form, you should include a hidden CSRF token field in the form so that the CSRF protection middleware can validate the request.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;  &lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nx"&gt;csrf_field&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Begin you class paths with \ so that you are at the root, and not inside the namespace (applies to controller pages)&lt;/p&gt;

&lt;p&gt;or set use App\Post; at the top, and then create new Post;&lt;/p&gt;

&lt;p&gt;Example of store method in PostController&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;
&lt;span class="k"&gt;public&lt;/span&gt; &lt;span class="k"&gt;function&lt;/span&gt; &lt;span class="nf"&gt;store&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
    &lt;span class="p"&gt;{&lt;/span&gt;
      &lt;span class="c1"&gt;// dd(request()-&amp;gt;all());&lt;/span&gt;
      &lt;span class="c1"&gt;// create a new post using the request database&lt;/span&gt;
      &lt;span class="nv"&gt;$post&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="k"&gt;new&lt;/span&gt; &lt;span class="nx"&gt;\App\Post&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt;

      &lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;title&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'title'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
      &lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;body&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'body'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;

      &lt;span class="c1"&gt;// save it to the database&lt;/span&gt;
      &lt;span class="nv"&gt;$post&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;save&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;

      &lt;span class="c1"&gt;// and redirect to the home page&lt;/span&gt;
      &lt;span class="k"&gt;return&lt;/span&gt; &lt;span class="nx"&gt;redirect&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="s1"&gt;'/'&lt;/span&gt;&lt;span class="p"&gt;);&lt;/span&gt;
    &lt;span class="p"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;An alternative to the above is to simply use:
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;    &lt;span class="nx"&gt;Post&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;create&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;([&lt;/span&gt;&lt;span class="s1"&gt;'title'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="s1"&gt;'body'&lt;/span&gt;&lt;span class="p"&gt;]));&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;and it creates the object, and saves the request items to the database.&lt;/p&gt;

&lt;h3&gt;
  
  
  Form Validation
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;At the minimum use HTML 5 form validation
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;required&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;  Setup server side validation in controller (PostController)
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nv"&gt;$this&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;validate&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nx"&gt;request&lt;/span&gt;&lt;span class="p"&gt;(),&lt;/span&gt; &lt;span class="p"&gt;[&lt;/span&gt;
        &lt;span class="s1"&gt;'title'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required'&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;
        &lt;span class="s1"&gt;'body'&lt;/span&gt; &lt;span class="o"&gt;=&amp;gt;&lt;/span&gt; &lt;span class="s1"&gt;'required'&lt;/span&gt;

      &lt;span class="p"&gt;]);&lt;/span&gt;

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;and in the view spit out the errors which are added to the $errors variable. &lt;br&gt;
$errors is available globally to all views.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;if&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nb"&gt;count&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$errors&lt;/span&gt;&lt;span class="p"&gt;))&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"form-group"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt; &lt;span class="k"&gt;class&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"alert alert-danger"&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;ul&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;foreach&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="nv"&gt;$errors&lt;/span&gt;&lt;span class="o"&gt;-&amp;gt;&lt;/span&gt;&lt;span class="na"&gt;all&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt; &lt;span class="k"&gt;as&lt;/span&gt; &lt;span class="nv"&gt;$error&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;&lt;/span&gt;&lt;span class="nx"&gt;li&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;&lt;span class="p"&gt;{{&lt;/span&gt; &lt;span class="nv"&gt;$error&lt;/span&gt; &lt;span class="p"&gt;}}&lt;/span&gt;
          &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;li&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;endforeach&lt;/span&gt;

    &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;ul&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;

  &lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="nx"&gt;div&lt;/span&gt;&lt;span class="o"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="o"&gt;@&lt;/span&gt;&lt;span class="k"&gt;endif&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Autentication
&lt;/h2&gt;

&lt;p&gt;Using Laravel's Built in authentication using Scaffolding.&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;&lt;code&gt;php artisan make:auth&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;p&gt;This will create a number of things:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;in /routes/web.php a new route:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight php"&gt;&lt;code&gt;&lt;span class="nx"&gt;Auth&lt;/span&gt;&lt;span class="o"&gt;::&lt;/span&gt;&lt;span class="na"&gt;routes&lt;/span&gt;&lt;span class="p"&gt;();&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt;Migration files, which need to be migrated. &lt;/li&gt;
&lt;li&gt;Point to the database you want to use. If SQLite, change your .env file and create a database.sqlite file in the /databases folder.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;NOTE: in windows you need to add the php/ext directory to your path.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;




```composer require doctrine/dbal```

 is a prerequisite to using SQLite.

You also have to uncomment this line in the php.ini file:


```extension=php_pdo_sqlite.dll```




## Artisan ##

## Blade ##
## Composer ##

## Eloquent ##

##Carbon##

## Github Primer ##
Assume that you have a GitHub account, and that you have created a new repo. 

1. Create local directory
2. Initialize Git

 ```git init```


3. Check status

 ```git status ```


4. Add files

 ```git add .```


5. Commit your files

 ```git commit -m "My commit message" ```


6. Add remote host

 ```git remote add origin https://github.com/username/myrepo.git```


7. Check remote host info

 ```git remote -v```


8. Push to remote repo

 ```git push origin master ```



NOTE: if you wish to override the remote changes with your local use


```git push --force ```



#### Pulling from remote repo ####

1.

 ```git pull origin master ```



## Linux Notes ##

View processes

 ```top```

 or

 ```ps aux```



Kill processes

 ```kill &amp;lt;pid&amp;gt;```



Start Apache

 ``` sudo apachectl [start | stop | restart]```





```apachectl configtest ```




```httpd -v ```



### Installing MySQL on Mac using Homebrew ###


```brew install mysql```



login to MySQL

 ```mysql -uroot```



configuration

 ```/usr/local/etc/opt/phpmyadin.config/inc.php```





```brew services start mysql```




```brew install phpmydmin```


NOTE: you may need to create a symbolic link for PHPMyAdmin

### Installing PHP with Homebrew ###


```brew install php71 | php56 ```


NOTE: you need to change the default PHP path in the Mac OS.


```export PATH=/usr/local/php5/bin:$PATH```



#### Making composer executable ####


```mv composer.phar /usr/local/php/bin/composer```



### Changing PATH ###


``` export PATH=/usr/local/php5/bin:$PATH```




```php --version```



### ATOM Setup ###

c:\ProgramData\ComposerSetup\bin\composer.phar
C:\Bitnami\wampstack-5.6.30-1\php\php.exe

1. Create route
2. Create controller 

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;

&lt;p&gt;&lt;br&gt;
php artisan make:controller ControllerName&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;add required method to controller class&lt;/li&gt;
&lt;/ol&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>HTML Cheat Sheet</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Tue, 09 Jun 2020 09:21:06 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/html-cheat-sheet-242m</link>
      <guid>https://dev.to/lamhoanganh/html-cheat-sheet-242m</guid>
      <description>&lt;h1&gt;
  
  
  HTML Cheat Sheet
&lt;/h1&gt;

&lt;p&gt;A reminder of HTML elements. &lt;a href="https://simplecheatsheet.com/tag/html-cheat-sheet/"&gt;Full HTML Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Minimal page
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="cp"&gt;&amp;lt;!DOCTYPE html&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;html&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Title&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;body&amp;gt;&lt;/span&gt;
        &lt;span class="c"&gt;&amp;lt;!-- content here --&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/body&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/html&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h2&gt;
  
  
  Head
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;head&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;title&amp;gt;&lt;/span&gt;Title&lt;span class="nt"&gt;&amp;lt;/title&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;base&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"base-url"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;link&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"style.css"&lt;/span&gt; &lt;span class="na"&gt;rel=&lt;/span&gt;&lt;span class="s"&gt;"stylesheet"&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;style &lt;/span&gt;&lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text/css"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="c"&gt;/* CSS code */&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/style&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script &lt;/span&gt;&lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"script.js"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;script&amp;gt;&lt;/span&gt;
        &lt;span class="c1"&gt;// Javascript code&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/script&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;charset=&lt;/span&gt;&lt;span class="s"&gt;"UTF-8"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"keywords"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"keywords"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"author"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"name"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;meta&lt;/span&gt; &lt;span class="na"&gt;http-equiv=&lt;/span&gt;&lt;span class="s"&gt;"refresh"&lt;/span&gt; &lt;span class="na"&gt;content=&lt;/span&gt;&lt;span class="s"&gt;"10"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/head&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;title&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;page title&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;base&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;base url for all links&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;link&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;link to external source&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;style&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;CSS inside HTML page&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;script&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;Javascript code&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;meta&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;metadata&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;meta&lt;/strong&gt; &lt;em&gt;http-equiv&lt;/em&gt;="refresh" &lt;em&gt;content&lt;/em&gt;="10"&lt;/td&gt;
&lt;td&gt;auto-refresh page in 10s&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Text content
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Headings
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;h1&amp;gt;&lt;/span&gt;Main heading&lt;span class="nt"&gt;&amp;lt;/h1&amp;gt;&lt;/span&gt;
&lt;span class="c"&gt;&amp;lt;!-- etc --&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h6&amp;gt;&lt;/span&gt;Level-6 heading&lt;span class="nt"&gt;&amp;lt;/h6&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;h1&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;main heading&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;h6&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;least important heading&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Paragraphs
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Paragraph.&lt;span class="nt"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
Other line.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;Other paragraph.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;hr/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;See the line above.&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;p&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;paragraph&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;br&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;line break&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;hr&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;horizontal line&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Formatting
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;em&amp;gt;&lt;/span&gt;Formatting&lt;span class="nt"&gt;&amp;lt;/em&amp;gt;&lt;/span&gt; is &lt;span class="nt"&gt;&amp;lt;strong&amp;gt;&lt;/span&gt;important&lt;span class="nt"&gt;&amp;lt;/strong&amp;gt;&lt;/span&gt; !
(a+b)&lt;span class="nt"&gt;&amp;lt;sup&amp;gt;&lt;/span&gt;2&lt;span class="nt"&gt;&amp;lt;/sup&amp;gt;&lt;/span&gt; = a&lt;span class="nt"&gt;&amp;lt;sup&amp;gt;&lt;/span&gt;2&lt;span class="nt"&gt;&amp;lt;/sup&amp;gt;&lt;/span&gt; + b&lt;span class="nt"&gt;&amp;lt;sup&amp;gt;&lt;/span&gt;2&lt;span class="nt"&gt;&amp;lt;/sup&amp;gt;&lt;/span&gt; + 2ab
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;sub&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;subscript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;sup&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;superscript&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;em&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;emphasize&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;strong&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;important&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;mark&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;highlighted&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;small&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;small&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;i&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;italic&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;b&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;bold&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Quotes
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;cite&amp;gt;&lt;/span&gt;This book&lt;span class="nt"&gt;&amp;lt;/cite&amp;gt;&lt;/span&gt; was written by this author.
&lt;span class="nt"&gt;&amp;lt;q&lt;/span&gt; &lt;span class="na"&gt;cite=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;quotation&lt;span class="nt"&gt;&amp;lt;/q&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;blockquote&lt;/span&gt; &lt;span class="na"&gt;cite=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
Lorem ipsum&lt;span class="nt"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
Lorem ipsum
&lt;span class="nt"&gt;&amp;lt;/blockquote&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;cite&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;title of a work&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;q&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;inline quotation&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;blockquote&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;quotation&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Content
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Links
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;link&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt; &lt;span class="na"&gt;target=&lt;/span&gt;&lt;span class="s"&gt;_blank&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;open in a new window&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"#comments"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;watch comments&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;h2&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"comments"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;comments&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;a&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;hyperlink&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Images
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"image.png"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"description"&lt;/span&gt; &lt;span class="na"&gt;width=&lt;/span&gt;&lt;span class="s"&gt;"300"&lt;/span&gt; &lt;span class="na"&gt;height=&lt;/span&gt;&lt;span class="s"&gt;"200"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;img&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;image&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Blocks
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;div&amp;gt;&lt;/span&gt;block&lt;span class="nt"&gt;&amp;lt;/div&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;span&amp;gt;&lt;/span&gt;inline&lt;span class="nt"&gt;&amp;lt;/span&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;div&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;block-level element&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;span&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;inline element&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Lists
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Unordered list
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ul&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;item&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;item&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;item&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ul&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ul&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;unordered list&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;li&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;list item&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Ordored list
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;ol&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;first&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;second&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;li&amp;gt;&lt;/span&gt;third&lt;span class="nt"&gt;&amp;lt;/li&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/ol&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;ol&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;ordered list&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;li&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;list item&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Definition list
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;dl&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;dt&amp;gt;&lt;/span&gt;term&lt;span class="nt"&gt;&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;&lt;/span&gt;definition&lt;span class="nt"&gt;&amp;lt;/dd&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;dt&amp;gt;&lt;/span&gt;term&lt;span class="nt"&gt;&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;&lt;/span&gt;definition&lt;span class="nt"&gt;&amp;lt;/dd&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;dt&amp;gt;&lt;/span&gt;term&lt;span class="nt"&gt;&amp;lt;/dt&amp;gt;&amp;lt;dd&amp;gt;&lt;/span&gt;definition&lt;span class="nt"&gt;&amp;lt;/dd&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/dl&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;dl&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;definition list&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;dt&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;term&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;dd&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;definition&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Tables
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Basic table
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;table&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;heading 1&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;heading 2&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 1, column 1&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 1, column 2&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 2, column 1&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 2, column 2&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;table&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;table&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;tr&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;table row&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;th&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;table heading&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;td&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;table cell&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  Advanced table
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;table&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;caption&amp;gt;&lt;/span&gt;caption&lt;span class="nt"&gt;&amp;lt;/caption&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;colgroup&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;col&lt;/span&gt; &lt;span class="na"&gt;span=&lt;/span&gt;&lt;span class="s"&gt;"2"&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"..."&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;col&lt;/span&gt; &lt;span class="na"&gt;style=&lt;/span&gt;&lt;span class="s"&gt;"..."&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/colgroup&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;thead&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;heading 1&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;heading 2&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;heading 3&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/thead&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;tfoot&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;footer 1&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;footer 2&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;th&amp;gt;&lt;/span&gt;footer 3&lt;span class="nt"&gt;&amp;lt;/th&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/tfoot&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;tbody&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 1, column 1&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 1, column 2&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 1, column 3&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;tr&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 2, column 1&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 2, column 2&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;td&amp;gt;&lt;/span&gt;line 2, column 3&lt;span class="nt"&gt;&amp;lt;/td&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/tr&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/tbody&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/table&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;caption&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;caption&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;colgroup&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;defines groups of columns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;col&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;defines column's properties&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;thead&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;groups headings together&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;tfoot&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;groups footers together&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;tbody&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;groups other rows&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  Forms
&lt;/h2&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;form&lt;/span&gt; &lt;span class="na"&gt;action=&lt;/span&gt;&lt;span class="s"&gt;"url"&lt;/span&gt; &lt;span class="na"&gt;method=&lt;/span&gt;&lt;span class="s"&gt;"post"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;fieldset&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;legend&amp;gt;&lt;/span&gt;Who are you ?&lt;span class="nt"&gt;&amp;lt;/legend&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;label&amp;gt;&lt;/span&gt;Login :&lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"text"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"login"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&amp;lt;/label&amp;gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;label&lt;/span&gt; &lt;span class="na"&gt;for=&lt;/span&gt;&lt;span class="s"&gt;"pswd"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Password :&lt;span class="nt"&gt;&amp;lt;/label&amp;gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"password"&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"pswd"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"radio"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"sex"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"male"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;Male&lt;span class="nt"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"radio"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"sex"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"female"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;Female&lt;span class="nt"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/fieldset&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;label&amp;gt;&lt;/span&gt;Your favorite color : &lt;span class="nt"&gt;&amp;lt;select&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"color"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;red&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;green&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;option&amp;gt;&lt;/span&gt;blue&lt;span class="nt"&gt;&amp;lt;/option&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/select&amp;gt;&amp;lt;/label&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"checkbox"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"available"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"monday"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;Monday&lt;span class="nt"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"checkbox"&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"available"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"tuesday"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;Tuesday&lt;span class="nt"&gt;&amp;lt;br/&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;textarea&lt;/span&gt; &lt;span class="na"&gt;name=&lt;/span&gt;&lt;span class="s"&gt;"comments"&lt;/span&gt; &lt;span class="na"&gt;rows=&lt;/span&gt;&lt;span class="s"&gt;"10"&lt;/span&gt; &lt;span class="na"&gt;cols=&lt;/span&gt;&lt;span class="s"&gt;"30"&lt;/span&gt; &lt;span class="na"&gt;placeholder=&lt;/span&gt;&lt;span class="s"&gt;"Write your comments here"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;textarea/&amp;gt;&lt;/span&gt;

    &lt;span class="nt"&gt;&amp;lt;input&lt;/span&gt; &lt;span class="na"&gt;type=&lt;/span&gt;&lt;span class="s"&gt;"submit"&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"Button text"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/form&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;form&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;form&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;label&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;label for input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;fieldset&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;group inputs together&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;legend&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;legend for fieldset&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;input&lt;/strong&gt; type="&lt;em&gt;text&lt;/em&gt;"&lt;/td&gt;
&lt;td&gt;text input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;input&lt;/strong&gt; type="&lt;em&gt;password&lt;/em&gt;"&lt;/td&gt;
&lt;td&gt;password input&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;input&lt;/strong&gt; type="&lt;em&gt;radio&lt;/em&gt;"&lt;/td&gt;
&lt;td&gt;radio button&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;input&lt;/strong&gt; type="&lt;em&gt;checkbox&lt;/em&gt;"&lt;/td&gt;
&lt;td&gt;checkbox&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;
&lt;strong&gt;input&lt;/strong&gt; type="&lt;em&gt;submit&lt;/em&gt;"&lt;/td&gt;
&lt;td&gt;send form&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;select&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;drop-down list&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;option&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;drop-down list item&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;optgroup&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;group of drop-down list items&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;datalist&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;autocompletion list&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;textarea&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;large text input&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h2&gt;
  
  
  HTML5 Semantic
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Page layout
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;header&amp;gt;&lt;/span&gt;My website&lt;span class="nt"&gt;&amp;lt;/header&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;nav&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"page1"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Page 1&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"page2"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Page 2&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;a&lt;/span&gt; &lt;span class="na"&gt;href=&lt;/span&gt;&lt;span class="s"&gt;"page3"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Page 3&lt;span class="nt"&gt;&amp;lt;/a&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/nav&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;section&amp;gt;&lt;/span&gt;
    Hello everybody, Welcome to my website !
&lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;article&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;header&amp;gt;&lt;/span&gt;
        &lt;span class="nt"&gt;&amp;lt;h2&amp;gt;&lt;/span&gt;Title&lt;span class="nt"&gt;&amp;lt;/h2&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;/header&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;
        My article
    &lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;aside&amp;gt;&lt;/span&gt;
    Writen by me
&lt;span class="nt"&gt;&amp;lt;/aside&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;section&lt;/span&gt; &lt;span class="na"&gt;id=&lt;/span&gt;&lt;span class="s"&gt;"comments"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;article&amp;gt;&lt;/span&gt;Comment 1&lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;article&amp;gt;&lt;/span&gt;Comment 2&lt;span class="nt"&gt;&amp;lt;/article&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/section&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;footer&amp;gt;&lt;/span&gt;
Copyright notice
&lt;span class="nt"&gt;&amp;lt;/footer&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;header&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;header of document or section&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;footer&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;footer of document or section&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;section&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;section&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;article&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;article, forum post, blog post, comment&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;aside&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;aside content related to surrounding content&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;nav&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;navigation links&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;h3&gt;
  
  
  New elements
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight html"&gt;&lt;code&gt;&lt;span class="nt"&gt;&amp;lt;figure&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;img&lt;/span&gt; &lt;span class="na"&gt;src=&lt;/span&gt;&lt;span class="s"&gt;"image.png"&lt;/span&gt; &lt;span class="na"&gt;alt=&lt;/span&gt;&lt;span class="s"&gt;"figure 1"&lt;/span&gt; &lt;span class="nt"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;figcaption&amp;gt;&lt;/span&gt;Figure 1&lt;span class="nt"&gt;&amp;lt;/figcaption&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/figure&amp;gt;&lt;/span&gt;

&lt;span class="nt"&gt;&amp;lt;details&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;summary&amp;gt;&lt;/span&gt;Declaration of M. X on &lt;span class="nt"&gt;&amp;lt;time&lt;/span&gt; &lt;span class="na"&gt;datetime=&lt;/span&gt;&lt;span class="s"&gt;"2013-12-25"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&lt;/span&gt;Christmas day&lt;span class="nt"&gt;&amp;lt;/time&amp;gt;&amp;lt;/summary&amp;gt;&lt;/span&gt;
    &lt;span class="nt"&gt;&amp;lt;p&amp;gt;&lt;/span&gt;M. X said...&lt;span class="nt"&gt;&amp;lt;/p&amp;gt;&lt;/span&gt;
&lt;span class="nt"&gt;&amp;lt;/details&amp;gt;&lt;/span&gt;

Downloading progress : &lt;span class="nt"&gt;&amp;lt;progress&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"53"&lt;/span&gt; &lt;span class="na"&gt;max=&lt;/span&gt;&lt;span class="s"&gt;"100"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/progress&amp;gt;&lt;/span&gt;
Disk space : &lt;span class="nt"&gt;&amp;lt;meter&lt;/span&gt; &lt;span class="na"&gt;value=&lt;/span&gt;&lt;span class="s"&gt;"62"&lt;/span&gt; &lt;span class="na"&gt;min=&lt;/span&gt;&lt;span class="s"&gt;"10"&lt;/span&gt; &lt;span class="na"&gt;max=&lt;/span&gt;&lt;span class="s"&gt;"350"&lt;/span&gt;&lt;span class="nt"&gt;&amp;gt;&amp;lt;/meter&amp;gt;&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;tag&lt;/th&gt;
&lt;th&gt;element&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;figure&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;an illustration&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;figcaption&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;caption of a figure element&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;details&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;details that can be shown or hidden&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;summary&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;visible heading of a details element&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;progress&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;progress of a task&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;meter&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;display a gauge&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;strong&gt;time&lt;/strong&gt;&lt;/td&gt;
&lt;td&gt;machine-readable time indication&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

</description>
    </item>
    <item>
      <title>Django 2 Cheat Sheet</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Tue, 09 Jun 2020 09:19:37 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/django-2-cheat-sheet-3hcj</link>
      <guid>https://dev.to/lamhoanganh/django-2-cheat-sheet-3hcj</guid>
      <description>&lt;p&gt;Django Cheat Sheet tries to provide a basic reference for beginner and advanced developers, lower the entry barrier for newcomers, and help veterans refresh the old tricks. &lt;a href="https://simplecheatsheet.com/tag/django-cheat-sheet/"&gt;Full Django Cheat Sheet&lt;/a&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Creating a virtual environment
&lt;/h3&gt;

&lt;p&gt;We need to create a virtual env for our app to run in: &lt;a href="https://docs.python.org/3/library/venv.html"&gt;More Here&lt;/a&gt;&lt;br&gt;
Run this command in whatever folder you want to create your venv folder&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python -m venv ./venv
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Activate the virtualenv
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;# Mac/Linux
source ./venv/bin/activate

# Windows
venv\Scripts\activate.bat - May need to add full path (c:\users\....venv\Scripts\activate.bat)
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Escape from venv
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;deactivate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Check packages installed in that venv
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip freeze
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Install Django
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pip install django
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Create your project
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;django-admin startproject PROJECTNAME
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Run Server (&lt;a href="http://127.0.0.1:8000"&gt;http://127.0.0.1:8000&lt;/a&gt;) CTRL+C to stop
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py runserver
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Create an app
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py startapp APPNAME
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Create migrations
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py makemigrations
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Run migration
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py migrate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Collect Static Files
&lt;/h3&gt;



&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;python manage.py collectstatic
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



</description>
      <category>django</category>
      <category>python</category>
    </item>
    <item>
      <title>CSS Cheat Sheet</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Tue, 09 Jun 2020 09:17:28 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/css-cheat-sheet-l3f</link>
      <guid>https://dev.to/lamhoanganh/css-cheat-sheet-l3f</guid>
      <description>&lt;h1&gt;
  
  
  CSS Cheat Sheet
&lt;/h1&gt;

&lt;p&gt;A quick go to guide for CSS goodness. Checkout the &lt;a href="http://simplecheatsheet.com/tag/css-cheat-sheet/"&gt;Full CSS Cheat Sheet&lt;/a&gt;.&lt;/p&gt;

&lt;h3&gt;
  
  
  Selectors
&lt;/h3&gt;

&lt;p&gt;Universal Selector &lt;code&gt;* {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Type Selector &lt;code&gt;h1, h2 ,h3 {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Child Selector &lt;code&gt;ul &amp;gt; li {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Descendant Selector &lt;code&gt;p a {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Class Selector &lt;code&gt;.class {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;ID Selector &lt;code&gt;#id {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Adjacent Sibling Selector &lt;code&gt;h1 + p {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;General Sibling Selector &lt;code&gt;h1 ~ p {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Attribute Selector &lt;code&gt;[attribute="SomeValue"] {}&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Pseudo Selectors &amp;amp; Elements
&lt;/h3&gt;

&lt;p&gt;Mouse Over Selector &lt;code&gt;a:hover {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Active Link Selector &lt;code&gt;a:active {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Focus Selector &lt;code&gt;input:focus {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Visited Links Selector &lt;code&gt;a:visited {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Link Selector &lt;code&gt;.class:link {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;First Line Selector &lt;code&gt;p::first-line {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;First Letter Selector &lt;code&gt;p::first-letter {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;First Child Selector &lt;code&gt;p:first-child {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Last Child Selector &lt;code&gt;p:last-child {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Only Child Selector &lt;code&gt;p:only-child {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;:nth-child Selector &lt;code&gt;p:nth-child() {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;First Element of its Parent Selector &lt;code&gt;p:first-of-type {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Checked elements selector  &lt;code&gt;input:checked {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Disabled elements selector &lt;code&gt;input:disabled {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Enabled elements selector &lt;code&gt;input:enabled {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Elements that have no Children Selector (including text nodes) &lt;code&gt;p:empty {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Not a Specified Element Selector &lt;code&gt;:not(p) {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Before Element &lt;code&gt;.class::before {}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After Element &lt;code&gt;.class::before {}&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Text Styling
&lt;/h3&gt;

&lt;p&gt;Font style &lt;code&gt;font-style: normal | italic | oblique&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Font Variant &lt;code&gt;font-variant: normal | small-caps&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Font Weight &lt;code&gt;font-weight: normal | bold | bolder | lighter | 100 - 900&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Vertical Alignment &lt;code&gt;vertical-align: baseline | 10px | sub | super | top | text-top | middle | bottom | text-bottom | initial&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Font Size &lt;code&gt;font-size: 12px | 0.8em | 80%&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Text Transform &lt;code&gt;text-transform: capitalise | lowercase | uppercase&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Space Between Characters &lt;code&gt;letter-spacing: normal | 4px&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Line Height &lt;code&gt;line-height: normal | 3em | 34%&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Horizontal Alignment &lt;code&gt;text-align: left | right | center | justify&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Text Align Last &lt;code&gt;text-align-last: auto | left | right | center | justify | start | end | initial | inherit&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Text Decoration &lt;code&gt;text-decoration: none | underline | overline | line-through&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Indent First Line &lt;code&gt;text-indent: 25px&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Font Family &lt;code&gt;font-family: 'Open Sans', sans-serif&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Text Justify &lt;code&gt;text-justify: auto | inter-word | inter-character | none | initial | inherit&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Text Overflow &lt;code&gt;text-overflow: clip | ellipsis | string | initial | inherit&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Text Shadow &lt;code&gt;text-shadow: h-shadow v-shadow blur-radius color | none | initial | inherit&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Position
&lt;/h3&gt;

&lt;p&gt;Position &lt;code&gt;position: static | relative | absolute | fixed | sticky&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Position Properties &lt;code&gt;top | right | bottom | left&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Float Element &lt;code&gt;float: left | right | none&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Clear Floating Elements &lt;code&gt;clear: none | left | right | both&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Z Index &lt;code&gt;z-index: 3 | auto | inherit&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Background
&lt;/h3&gt;

&lt;p&gt;Background Image &lt;code&gt;background-image: url()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Background Repeat &lt;code&gt;background-repeat: repeat-x | repeat-y | repeat | space | round | no-repeat&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Background Color &lt;code&gt;background-color: #2AA9E0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Background Position &lt;code&gt;background-position: top | right | bottom | left | center&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Background Attachment &lt;code&gt;background-attachment: scroll | fixed | local | initial | inherit&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Box properties
&lt;/h3&gt;

&lt;p&gt;Box Sizing &lt;code&gt;box-sizing: border-box | content-box&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Margin &lt;code&gt;margin: 2px 4px 6px 8px | 0 auto&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Padding &lt;code&gt;padding: 2px 4px 6px 8px&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Border Color &lt;code&gt;border-color: #2AA9E0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Border Style &lt;code&gt;border-style: none | hidden | dotted | dashed | solid | double | groove | ridge | inset | outset&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Border Width &lt;code&gt;border-width: 10px&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  List Styling
&lt;/h3&gt;

&lt;p&gt;List Type &lt;code&gt;list-style-type: disc | circle | square | none&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;List Position &lt;code&gt;list-style-position: inside | outside&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;List Image &lt;code&gt;list-style-image: url()&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Flexbox
&lt;/h3&gt;

&lt;p&gt;Flex Direction &lt;code&gt;flex-direction: row | row-reverse | column | column-reverse&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Flex Wrap &lt;code&gt;flex-wrap: nowrap | wrap | wrap-reverse&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Justify Content &lt;code&gt;justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Align Items &lt;code&gt;align-items: flex-start | flex-end | center | baseline | stretch&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Align Content &lt;code&gt;align-content: flex-start | flex-end | center | space-between | space-around | stretch&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Order &lt;code&gt;order: 0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Flex Grow &lt;code&gt;flex-grow: 0&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Flex Shrink &lt;code&gt;flex-shrink: 1&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Flex Basis &lt;code&gt;flex-basis: 3px | auto&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Align Self &lt;code&gt;align-self: auto | flex-start | flex-end | center | baseline | stretch&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  CSS Grid
&lt;/h3&gt;

&lt;p&gt;Grid Template Columns &lt;code&gt;grid-template-columns: 40px 50px auto 50px 40px&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Template Rows &lt;code&gt;grid-template-rows: 25% 100px auto&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Template Areas &lt;code&gt;grid-template-areas: "a b c" | none&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Template &lt;code&gt;grid-template: "a a a" 20% "b b b" auto | 100px 1fr / 50px 1fr&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Column Gap &lt;code&gt;grid-column-gap: 10px&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Row Gap &lt;code&gt;grid-row-gap: 10px&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Justify Items &lt;code&gt;justify-items: start | end | center | stretch&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Align Items &lt;code&gt;align-items: start | end | center | stretch&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Justify Content &lt;code&gt;justify-content: flex-start | flex-end | center | space-between | space-around | space-evenly&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Align Content &lt;code&gt;align-content: flex-start | flex-end | center | space-between | space-around | stretch&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Auto Columns &lt;code&gt;grid-auto-columns: 100px | max-content | min-content&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Auto Rows &lt;code&gt;grid-auto-rows: 100px | max-content | min-content&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Auto Flow &lt;code&gt;grid-auto-flow: row | column | row dense | column dense&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Column Start &lt;code&gt;grid-column-start: 2 | areaname | span 2 | span areaname | auto&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Column End &lt;code&gt;grid-column-end: 2 | areaname | span 2 | span areaname | auto&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Row Start &lt;code&gt;grid-row-start: 2 | areaname | span 2 | span areaname | auto&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Row End &lt;code&gt;grid-row-end: 2 | areaname | span 2 | span areaname | auto&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Column &lt;code&gt;grid-column: 3 / span 2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Grid Row &lt;code&gt;grid-row: 3 / span 2&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Justify Self &lt;code&gt;justify-self: start | end | center | stretch&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Align Self &lt;code&gt;align-self: start | end | center | stretch&lt;/code&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Dynamic Content
&lt;/h3&gt;

&lt;p&gt;CSS Variable &lt;code&gt;--variable-name: value&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Variable Usage &lt;code&gt;var(--variable-name)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Counter Reset &lt;code&gt;counter-reset: name-of-counter&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Counter Increment &lt;code&gt;counter-increment: name-of-counter&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Counter Dynamic Value &lt;code&gt;content: counter(name-of-counter)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Attribute Dynamic Value &lt;code&gt;content: attr(name-of-attribute)&lt;/code&gt;&lt;/p&gt;

</description>
      <category>css</category>
      <category>cheatsheet</category>
    </item>
    <item>
      <title>Laravel Cheat Sheet - Form</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Sat, 16 May 2020 14:51:48 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/laravel-cheat-sheet-form-4fca</link>
      <guid>https://dev.to/lamhoanganh/laravel-cheat-sheet-form-4fca</guid>
      <description>&lt;h3&gt;
  
  
  Forms
&lt;/h3&gt;

&lt;h4&gt;
  
  
  CSRF Protection
&lt;/h4&gt;

&lt;p&gt;In Laravel 5.7 you create form by simple HTML&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;form method="POST" action="{{ route('posts.store') }}"&amp;gt;

&amp;lt;/form&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;a href="https://en.wikipedia.org/wiki/Cross-site_request_forgery"&gt;CSRF&lt;/a&gt; protection is enabled by default, so you need to include a CSRF token with each form sent&lt;/p&gt;

&lt;p&gt;Token can be included by adding a &lt;code&gt;@csrf&lt;/code&gt; directive inside the &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; tag. It would generate an &lt;code&gt;&amp;lt;input&amp;gt;&lt;/code&gt; of type &lt;code&gt;hidden&lt;/code&gt; with the token as value&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;form method="POST" action="{{ route('posts.store') }}"&amp;gt;
    @csrf
&amp;lt;/form&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;The token is then verified inside Laravel using the &lt;code&gt;VerifyCsrfToken&lt;/code&gt; middleware.&lt;/p&gt;

&lt;h3&gt;
  
  
  Middleware
&lt;/h3&gt;

&lt;p&gt;Middleware is a mechanism that filter requests going through your application. &lt;/p&gt;

&lt;p&gt;Simply put - each middleware is a chunk of code that runs BEFORE or AFTER the request is handled by &lt;code&gt;Controller Action&lt;/code&gt; or a &lt;code&gt;Closure&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Below is an example flow of the request going through your application:&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--snrmktby--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/v1/./middleware.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--snrmktby--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_880/v1/./middleware.png" alt="Request flow with middleware"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;An example AFTER middleware from &lt;a href="https://laravel.com/docs/5.7/middleware#defining-middleware"&gt;Laravel Docs&lt;/a&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;namespace App\Http\Middleware;

use Closure;

class AfterMiddleware
{
    public function handle($request, Closure $next)
    {
        // Calling $next with $request parameter
        $response = $next($request);

        // Do something here after the request is handled by Controller/Closure

        return $response;
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;An example BEFORE middleware&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;namespace App\Http\Middleware;

use Closure;

class BeforeMiddleware
{
    public function handle($request, Closure $next)
    {
        // Do something here before the request is handled by Controller/Closure...

        // Calling $next with $request parameter
        return $next($request);
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Middleware should call the passed &lt;code&gt;Closure&lt;/code&gt; &lt;code&gt;$next&lt;/code&gt; with the &lt;code&gt;$request&lt;/code&gt; parameter to allow further processing, or &lt;code&gt;throw&lt;/code&gt; an &lt;code&gt;Exception&lt;/code&gt; or do a redirect to stop further processing of the &lt;code&gt;Request&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Middleware examples:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Authentication (veryfying if user is authenticated)&lt;/li&gt;
&lt;li&gt;CSRF protection&lt;/li&gt;
&lt;li&gt;CORS middleware&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Request
&lt;/h3&gt;

&lt;p&gt;Obtaining data sent with request&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class PostController extends Controller
{
    public function store(Request $request)
    {
        $title = $request-&amp;gt;input('title');
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Reading all input as an &lt;code&gt;array&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$input = $request-&amp;gt;all();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Reading an individual value with default provided&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$name = $request-&amp;gt;input('title', 'Draft post');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Retrieving all of the input values as an &lt;code&gt;array&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$input = $request-&amp;gt;input();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;input()&lt;/code&gt; method can read data regardless of the HTTP verb used (works for &lt;code&gt;GET&lt;/code&gt; query parameters or input fields sent through &lt;code&gt;&amp;lt;form&amp;gt;&lt;/code&gt; with &lt;code&gt;POST&lt;/code&gt; method)&lt;/p&gt;

&lt;p&gt;Veryfing if input value is present&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;if ($request-&amp;gt;has('title')) {
    // Do something with title
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Redirects
&lt;/h3&gt;

&lt;p&gt;Redirect to a URL&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return redirect('/posts');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Redirect to a route with "flashed input"&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return redirect('/posts/create')-&amp;gt;withInput();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Redirect to last URL with "flashed input"&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return back()-&amp;gt;withInput();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Redirect to a named route&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return redirect()-&amp;gt;route('posts.index');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Redirect with flash message&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return redirect()-&amp;gt;route('posts')-&amp;gt;with('status', 'New post created!');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Flashing input
&lt;/h4&gt;

&lt;p&gt;Sometimes you need to repopulate the form with the old input, eg. when validation failed and you don't want the user to re-type all the fields.&lt;/p&gt;

&lt;p&gt;You can do&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$request-&amp;gt;flash();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Or the above example (flash input and redirect)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;return redirect('form')-&amp;gt;withInput();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Source: &lt;a href="https://simplecheatsheet.com/tag/laravel-cheat-sheet/"&gt;Laravel Cheat Sheet&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>Laravel Cheat Sheet - Resource Controllers</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Sat, 16 May 2020 14:50:47 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/laravel-cheat-sheet-resource-controllers-3eog</link>
      <guid>https://dev.to/lamhoanganh/laravel-cheat-sheet-resource-controllers-3eog</guid>
      <description>&lt;h3&gt;
  
  
  Controllers
&lt;/h3&gt;

&lt;p&gt;Import the Model class for easier usage&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;use App\BlogPost
// Now it can be used like this
BlogPost::all();
// Instead of 
\App\BlogPost::all();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Group code by responsibility, separate controllers for 2 simple static pages (HomeController), another for displaying blog posts (PostController).&lt;/p&gt;

&lt;h4&gt;
  
  
  Resource Controllers
&lt;/h4&gt;

&lt;p&gt;Use (per) resource controllers&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::resource('posts', 'PostController');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Instead of&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::get('/posts', 'PostController@index')-&amp;gt;name('blog.index');
Route::get('/posts/{id}', 'PostController@show')-&amp;gt;name('blog.show');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Generating a new resource controller with all the resource methods&lt;/p&gt;

&lt;p&gt;&lt;code&gt;php artisan make:controller PostController --resource&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Resource methods table&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Verb&lt;/th&gt;
&lt;th&gt;URI&lt;/th&gt;
&lt;th&gt;Action&lt;/th&gt;
&lt;th&gt;Route Name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;GET&lt;/td&gt;
&lt;td&gt;/posts&lt;/td&gt;
&lt;td&gt;index&lt;/td&gt;
&lt;td&gt;posts.index&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GET&lt;/td&gt;
&lt;td&gt;/posts/create&lt;/td&gt;
&lt;td&gt;create&lt;/td&gt;
&lt;td&gt;posts.create&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;POST&lt;/td&gt;
&lt;td&gt;/posts&lt;/td&gt;
&lt;td&gt;store&lt;/td&gt;
&lt;td&gt;posts.store&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GET&lt;/td&gt;
&lt;td&gt;/posts/{photo}&lt;/td&gt;
&lt;td&gt;show&lt;/td&gt;
&lt;td&gt;posts.show&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;GET&lt;/td&gt;
&lt;td&gt;/posts/{photo}/edit&lt;/td&gt;
&lt;td&gt;edit&lt;/td&gt;
&lt;td&gt;posts.edit&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;PUT/PATCH&lt;/td&gt;
&lt;td&gt;/posts/{photo}&lt;/td&gt;
&lt;td&gt;update&lt;/td&gt;
&lt;td&gt;posts.update&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;DELETE&lt;/td&gt;
&lt;td&gt;/posts/{photo}&lt;/td&gt;
&lt;td&gt;destroy&lt;/td&gt;
&lt;td&gt;posts.destroy&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To enable only certain routes&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::resource('posts', 'PostController')-&amp;gt;only(['index', 'show']);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;To disable specific routes&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::resource('posts', 'PostController')-&amp;gt;except(['create', 'store', 'edit', 'update', 'destroy]);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Both examples above will result in the same routes - posts.index and posts.show&lt;/em&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Fetching a single model
&lt;/h4&gt;

&lt;p&gt;Model can be fetched using &lt;code&gt;BlogPost::find($id)&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To display a 404 Not Found page when model cannot be found, use &lt;code&gt;BlogPost::findOrFail($id)&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Route Model Binding
&lt;/h4&gt;

&lt;p&gt;Those 2 examples are equivalent&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PostController extends Controller {
    public function show($post) {
        return view('post.show', ['post' =&amp;gt; BlogPost::findOrFail($id)]);
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Above, we manually try to fetch the BlogPost model. &lt;code&gt;findOrFail&lt;/code&gt; will show a 404 page if model is not found.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;PostController extends Controller {
    public function show(BlogPost $post) {
        return view('post.show', ['post' =&amp;gt; $post]);
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Above we use &lt;strong&gt;Route Model Binding&lt;/strong&gt;. If the method parameter name matches the route segment, eg. route is &lt;code&gt;/posts/{post}&lt;/code&gt; the variable name has to be &lt;code&gt;$post&lt;/code&gt;. Then &lt;code&gt;type hinting&lt;/code&gt; (specyfying the argument type) as the Eloquent model &lt;code&gt;BlogPost&lt;/code&gt;, tells Laravel to try and fetch this object by &lt;code&gt;id&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;To customize the property by which the model is fetched, add the &lt;code&gt;getRouteKeyName()&lt;/code&gt; method to the model.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;public function getRouteKeyName()
{
    return 'slug';
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;With the example above, Laravel would try to find a &lt;code&gt;BlogPost&lt;/code&gt; model by &lt;code&gt;slug&lt;/code&gt; property.&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://simplecheatsheet.com/tag/laravel-cheat-sheet/"&gt;Laravel Cheat Sheet&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>Laravel Cheat Sheet - Models Eloquent</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Sat, 16 May 2020 14:48:42 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/laravel-cheat-sheet-models-eloquent-56k8</link>
      <guid>https://dev.to/lamhoanganh/laravel-cheat-sheet-models-eloquent-56k8</guid>
      <description>&lt;h3&gt;
  
  
  Laravel Tinker
&lt;/h3&gt;

&lt;p&gt;Tinker is a console program that allows you to play around with Laravel models and execute arbitraty PHP command directly from your command line&lt;/p&gt;

&lt;p&gt;Starting the console&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan tinker
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h4&gt;
  
  
  Solving a problem with Tinker (for PHP 7.3 or newer) when it quits after every command
&lt;/h4&gt;

&lt;p&gt;Modify the php.ini by adding this option&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;pcre.jit=0
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;On Mac php.ini can be usually found in &lt;code&gt;/Applications/XAMPP/xamppfiles/etc/php.ini&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;To be sure where it is, run &lt;code&gt;php -i | grep 'php.ini'&lt;/code&gt; in Terminal&lt;/p&gt;

&lt;p&gt;On Windows it's in your XAMPP folder &lt;code&gt;C:\xampp\php\php.ini&lt;/code&gt; or &lt;code&gt;C:\xampp\etc\php.ini&lt;/code&gt;, depending on location of XAMPP itself&lt;/p&gt;

&lt;h3&gt;
  
  
  Eloquent Model
&lt;/h3&gt;

&lt;p&gt;Generating a new model&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:model BlogPost
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Generating a new model with migration&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:model BlogPost --migration
// or
php artisan make:model BlogPost -m
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;By convention, Laravel assumes the table name is "snake case" plural model name. For example:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Model name&lt;/th&gt;
&lt;th&gt;Table name&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;BlogPost&lt;/td&gt;
&lt;td&gt;&lt;code&gt;blog_posts&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Blogpost&lt;/td&gt;
&lt;td&gt;&lt;code&gt;blogposts&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;VeryLongTrain&lt;/td&gt;
&lt;td&gt;&lt;code&gt;very_long_trains&lt;/code&gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;To define a custom name, add (override) the protected &lt;code&gt;$table&lt;/code&gt; model property&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;class BlogPost extends Model
{
    protected $table = 'blogposts';
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;By default, all models are stored inside the &lt;code&gt;App&lt;/code&gt; namespace, eg. &lt;code&gt;App\BlogPost&lt;/code&gt;&lt;/p&gt;

&lt;h4&gt;
  
  
  Acessing and modifying properties
&lt;/h4&gt;

&lt;p&gt;You can read and modify model properties (row columns) using properties&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$post = App\BlogPost::find(1);
$title = $post-&amp;gt;title;
$content = $post-&amp;gt;content;

$post-&amp;gt;title = 'New title';
$post-&amp;gt;content = 'New content';
// Always call save() to create the record and UPDATE the existing one
$post-&amp;gt;save();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Property name corresponds 1:1 to the column name of the table&lt;/p&gt;

&lt;h3&gt;
  
  
  Querying
&lt;/h3&gt;

&lt;p&gt;Retrieving all models as &lt;em&gt;collection&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$posts = App\BlogPost::all();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Retrieving single model by primary key (usually, by &lt;code&gt;id&lt;/code&gt; property/column)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;// Fetch BlogPost with id 10
$post = App\BlogPost::find(10);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Fetching &lt;em&gt;collection&lt;/em&gt; of models by id&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$posts = App\BlogPost::find([1, 2, 3]);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Collections are iterable (eg. using foreach)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$posts = App\BlogPost::all();

foreach ($posts as $post) {
    echo $post-&amp;gt;title;
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Getting first element of the collection of models&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$posts = App\BlogPost::all();
$post = $posts-&amp;gt;first();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Creating and saving (creating a database row) a new model&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$post = new App\BlogPost();
$post-&amp;gt;title = 'Title';
$post-&amp;gt;content = 'Content';
$post-&amp;gt;save();
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Source: &lt;a href="https://simplecheatsheet.com/tag/laravel-cheat-sheet/"&gt;Laravel Cheat Sheet&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>Laravel Cheat Sheet - Migrations</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Sat, 16 May 2020 14:47:27 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/laravel-cheat-sheet-migrations-5dc</link>
      <guid>https://dev.to/lamhoanganh/laravel-cheat-sheet-migrations-5dc</guid>
      <description>&lt;h3&gt;
  
  
  Migrations problems
&lt;/h3&gt;

&lt;p&gt;The limit for keys is 767 bytes.&lt;/p&gt;

&lt;p&gt;In the &lt;code&gt;utf-8&lt;/code&gt; encoding, the single character is 3 bytes, so key on &lt;code&gt;VARCHAR(255)&lt;/code&gt; length won't exceed 767 (3 * 255 = 765).&lt;/p&gt;

&lt;p&gt;In you are using &lt;code&gt;utf8mb4&lt;/code&gt;, which we are, the single character is 4 bytes. Thus the maximum length for &lt;code&gt;VARCHAR&lt;/code&gt; which has key on it (like &lt;code&gt;UNIQUE&lt;/code&gt;) is 191.&lt;/p&gt;

&lt;p&gt;When you encounter this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table

Illuminate\Database\QueryException  : SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes (SQL: alter table `users` add unique `users_email_unique`(`email`))
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Change the email field length to 191.&lt;/p&gt;

&lt;h3&gt;
  
  
  Running migrations
&lt;/h3&gt;

&lt;p&gt;To run the most recent, not executed yet migrations&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan migrate
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;To rollback the most recent migration&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan migrate:rollback
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Setting the length of the field&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$table-&amp;gt;string('email', 191);
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Writing migrations
&lt;/h3&gt;

&lt;p&gt;Creating a new migration&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:migration create_blogposts_table
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;To prefill the migration with stub code that creates a new table&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:migration create_blogposts_table --create=blogposts
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;To prefill the migration with stub code that modifies an existing table&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;php artisan make:migration add_date_to_blogposts_table --table=blogposts
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  The migration file
&lt;/h3&gt;

&lt;p&gt;Migration file containts a class with 2 methods, &lt;code&gt;up()&lt;/code&gt; and &lt;code&gt;down()&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;up()&lt;/code&gt; methods creates new table, modifies the existing one. Generally, it specifies how your database schema should change from now on - this might include deleting fields or tables.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;down()&lt;/code&gt; method specifies how to revert changes made my migration.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;up()&lt;/code&gt; method is called when you run &lt;code&gt;php artisan migrate&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;down()&lt;/code&gt; method is called when you run &lt;code&gt;php artisan migrate:rollback&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Creating a new table&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Schema::create('blogposts', function (Blueprint $table) {
    $table-&amp;gt;increments('id');
});
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Renaming an existing table&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Schema::rename('blogposts', 'posts');

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Creating columns&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Schema::table('blogposts', function (Blueprint $table) {
    $table-&amp;gt;string('title');
});
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Available column types&lt;/p&gt;

&lt;p&gt;Refer to this link &lt;a href="https://laravel.com/docs/5.7/migrations#columns"&gt;https://laravel.com/docs/5.7/migrations#columns&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Typical columns types&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Command&lt;/th&gt;
&lt;th&gt;Description&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;$table-&amp;gt;increments('id');&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Auto-incrementing UNSIGNED INTEGER&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;$table-&amp;gt;string('title', 100);&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;VARCHAR with optional length&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;$table-&amp;gt;timestamps();&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;Nullable TIMESTAMP &lt;code&gt;created_at&lt;/code&gt; and &lt;code&gt;updated_at&lt;/code&gt; columns&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;&lt;code&gt;$table-&amp;gt;text('content');&lt;/code&gt;&lt;/td&gt;
&lt;td&gt;TEXT&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;Column modifiers&lt;/p&gt;

&lt;p&gt;&lt;code&gt;-&amp;gt;default('value')&lt;/code&gt; - the default column value&lt;/p&gt;

&lt;p&gt;&lt;code&gt;-&amp;gt;nullable()&lt;/code&gt; - column can be NULL&lt;/p&gt;

&lt;p&gt;&lt;code&gt;-&amp;gt;unsigned()&lt;/code&gt; - integer is unsigned (no negative values)&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://simplecheatsheet.com/tag/laravel-cheat-sheet/"&gt;Laravel Cheat Sheet&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>Laravel Cheat Sheet - Database</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Sat, 16 May 2020 14:44:55 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/laravel-cheat-sheet-database-466b</link>
      <guid>https://dev.to/lamhoanganh/laravel-cheat-sheet-database-466b</guid>
      <description>&lt;h3&gt;
  
  
  Configuring database
&lt;/h3&gt;

&lt;p&gt;The database connection parameters are stored inside .env file (on development environment).&lt;/p&gt;

&lt;p&gt;On production environment store it in VirtualHost configuration or .htaccess file. To store variables in .htaccess file VirtualHost must contain the &lt;code&gt;AllowOverride All&lt;/code&gt; directive.&lt;/p&gt;

&lt;p&gt;Reading environment variable&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$value = env('DB_HOST', '127.0.0.1');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;&lt;em&gt;Where first value is the name of the variable, and second is the default value (if env variable is not defined).&lt;/em&gt;&lt;/p&gt;

&lt;h3&gt;
  
  
  Connecting to the database server
&lt;/h3&gt;

&lt;h4&gt;
  
  
  Using phpMyAdmin
&lt;/h4&gt;

&lt;p&gt;Visit &lt;a href="http://localhost/phpmyadmin"&gt;http://localhost/phpmyadmin&lt;/a&gt; if you are using XAMPP&lt;/p&gt;

&lt;p&gt;Source: &lt;a href="https://simplecheatsheet.com/tag/laravel-cheat-sheet/"&gt;Laravel Cheat Sheet&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>database</category>
      <category>php</category>
    </item>
    <item>
      <title>Laravel Cheat Sheet - Controllers</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Sat, 16 May 2020 14:43:07 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/laravel-cheat-sheet-controllers-a6a</link>
      <guid>https://dev.to/lamhoanganh/laravel-cheat-sheet-controllers-a6a</guid>
      <description>&lt;h3&gt;
  
  
  Controllers
&lt;/h3&gt;

&lt;p&gt;Controllers are an alternative to Closures for defining the application logic&lt;/p&gt;

&lt;p&gt;Generating a new Controller&lt;/p&gt;

&lt;p&gt;&lt;code&gt;php artisan make:controller ControllerNameController&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Controllers are stored inside the &lt;code&gt;app/Http/Controllers&lt;/code&gt; folder&lt;/p&gt;

&lt;p&gt;An example controller class&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class HomeController extends Controller
{
    public function index()
    {
        return view('home');
    }

    public function contact()
    {
        return view('contact');
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Controllers do not have to extend the base &lt;code&gt;App\Http\Controllers\Controller&lt;/code&gt; class, but it provides some convienience methods.&lt;/p&gt;

&lt;p&gt;Route definition for the above controller (routes/web.php):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::get('/', 'HomeController@home');
Route::get('/contact', 'HomeController@contact');

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;We don't have to specify the full controller namespace in &lt;code&gt;web.php&lt;/code&gt;. It's enough to specify everything after &lt;code&gt;App\Http\Controllers&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;RouteServiceProvider will is responsible for prepending the &lt;code&gt;App\Http\Controllers&lt;/code&gt; namespace to controller names in routes.&lt;/p&gt;

&lt;h3&gt;
  
  
  Single Action Controllers
&lt;/h3&gt;

&lt;p&gt;For controllers that handle just a single action:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;?php

namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

class HomeSingleController extends Controller
{
    public function __invoke()
    {
        return view('home');
    }
}
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Route definition (routes/web.php)&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::get('home', 'HomeSingleController');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Generating a single action controller&lt;/p&gt;

&lt;p&gt;&lt;code&gt;php artisan make:controller HomeSingleController --invokable&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;__invoke&lt;/code&gt; is a magic PHP method that allows the object to be called like a function, eg.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$controller = new HomeSingleController();
$controller();

&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Routing
&lt;/h3&gt;

&lt;p&gt;Route for controller action&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$url = action('HomeController@home');
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Source: &lt;a href="https://simplecheatsheet.com/tag/laravel-cheat-sheet/"&gt;Laravel Cheat Sheet&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
    <item>
      <title>Laravel Cheat Sheet - Routes Views</title>
      <dc:creator>Lam Hoang</dc:creator>
      <pubDate>Sat, 16 May 2020 14:41:52 +0000</pubDate>
      <link>https://dev.to/lamhoanganh/laravel-cheat-sheet-routes-views-383f</link>
      <guid>https://dev.to/lamhoanganh/laravel-cheat-sheet-routes-views-383f</guid>
      <description>&lt;h3&gt;
  
  
  Inside route definition file (routes/web.php)
&lt;/h3&gt;

&lt;p&gt;Defining a route using closure&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::get('/', function () {
    return view('welcome');
});
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Defining a route that only renders a Blade template&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::view('/home')
Route::view('/home', ['data' =&amp;gt; 'value'])
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Route with a required parameter&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::get('/page/{id}', function ($id) {
    return view('page', ['page' =&amp;gt; $id]);
});
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Route with an optional parameter&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::get('/hello/{name?}', function ($name = 'Guest') {
    return view('hello', ['name' =&amp;gt; $name]);
});
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Named route&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;Route::view('/home')-&amp;gt;name('home');
Route::get('/blog-post/{id}', function ($id) { return view('blog-post', ['id' =&amp;gt; $id]); });
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Generating url to the named route&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;$url = route('home');
// Generates /home
$blogPostUrl = route('blog-post', ['id' =&amp;gt; 1]);
// Generates /blog-post/1
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;h3&gt;
  
  
  Inside Blade template
&lt;/h3&gt;

&lt;p&gt;Defining a section&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;@section('content')
    &amp;lt;h1&amp;gt;Header&amp;lt;/h1&amp;gt;
@endsection
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Rendering a section&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@yield('content')&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Extending a layout&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@extends('layout')&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Function to render a view&lt;/p&gt;

&lt;p&gt;&lt;code&gt;view('name', ['data' =&amp;gt;‚ 'value'])&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Rendering data inside a Blade template&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{{ $data }}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;By default data is escaped using &lt;code&gt;htmlspecialchars&lt;/code&gt;&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Rendering unescaped data&lt;/p&gt;

&lt;p&gt;&lt;code&gt;{!! $data !!}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Including another view&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@include('view.name')&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Included view will inherit parent view data&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Passing additional data to included view&lt;/p&gt;

&lt;p&gt;&lt;code&gt;@include('view.name', ['name' =&amp;gt; 'John'])&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Generating a URL inside view&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight"&gt;&lt;pre class="highlight plaintext"&gt;&lt;code&gt;&amp;lt;a href="{{ route('home') }}"&amp;gt;Home&amp;lt;/a&amp;gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;



&lt;p&gt;Source: &lt;a href="https://simplecheatsheet.com/tag/laravel-cheat-sheet/"&gt;Laravel Cheat Sheet&lt;/a&gt;&lt;/p&gt;

</description>
      <category>laravel</category>
      <category>php</category>
    </item>
  </channel>
</rss>
