Laravel: Difference between revisions
No edit summary |
|||
Line 33: | Line 33: | ||
npm run dev | npm run dev | ||
</syntaxhighlight> | </syntaxhighlight> | ||
==Controllers== | |||
==Routing== | ==Routing== |
Revision as of 15:36, 27 January 2020
Laravel is the most popular PHP framework.
Website
Usage
Installation
composer global require laravel/installer
Creating a new project
Run the following commands.
Initialize a laravel project then cd
into your project folder and install all php and node dependencies.
Then point your webserver to your project's public folder or run php artisan serve
to start a local development server.
laravel new my-project
# Equivalent to
# composer create-project --prefer-dist laravel/laravel my-project
cd my-project
composer install
npm install
Copying an existing project
After you git pull an existing project, you will need to do the following to get it running.
Note: The app key is used for encrypting cookies.
Users will lose their session if the app key is regenerated in production.
composer install
npm ci
cp .env.example .env
# Fill in the .env config variables such as database, mail server, API keys, ...
php artisan key:generate
# Use npm run prod for production
npm run dev
Controllers
Routing
Routing is handled in the routes/web.php
file.
Documentation
RESTful
Note that for put, patch, delete you will need @method('PATCH')
in your form html element.
Or you can use an ajax request via fetch or jQuery.
Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);
Parameters/Variables
Route::get('user/{id}', function ($id) {
return 'User '.$id;
});
Laravel Mix
Laravel mix is an asset compiler/minifier for Laravel build upon webpack.
Your configuration will be in webpack.mix.js
The following may be convenient:
const fs = require('fs-extra');
function rm(webpackConfig, ...args) {
fs.removeSync(args[0]);
}