Skip to content

Latest commit

 

History

History
197 lines (139 loc) · 3.4 KB

Laravel.md

File metadata and controls

197 lines (139 loc) · 3.4 KB

Laravel

Install Laravel

composer create-project --prefer-dist laravel/laravel project-name

See Site

  • for not use xampp or docker
php artisan serve

Make Controller

//Route::get ...... @...
php artisan make:controller [PostController]

//Route::resource('photo','PhotoController')
php artisan make:controller --resource [PostController or Admin/PostController]

Migration

php artisan migrate
  • if you see this Error 42000, add this line to app\Providers\AppServiceProvider.php
use Illuminate\Support\Facades\Schema;
...
public function boot()
{
    Schema::defaultStringLength(191);
}
//Best one Make Model and Table
php artisan make:model Flight --migration

php artisan make:migration create_users_table --create=users
php artisan make:migration add_votes_to_users_table --table=users


php artisan migrate:rollback
php artisan migrate:rollback --step=5
php artisan migrate:reset
php artisan migrate:refresh
php artisan migrate:refresh --seed => with seed
php artisan migrate:refresh --step=5

php artisan migrate:fresh
php artisan migrate:fresh --seed

shell

php artisan tinker

Api

php artisan make:controller folderName/apiController --api

route caching

php artisan route:cache

add auth

php artisan make:auth

Make Middleware

php artisan make:middleware RoleMiddleware

down & restore the site

php artisan down
php artisan up

Optimization for Deploy

//Autoloader
composer install --optimize-autoloader --no-dev

//Configuration Loading
php artisan config:cache

//Route Loading
php artisan route:cache

Docker

simple-approach-using-docker-with-php laravel-docker-part-1-setup-for-development laradock laradock laravel-in-docker

  • make files

mkdir .docker/ touch .docker/Dockerfile .docker/vhost.conf touch docker-compose.yml

FROM php:7.1.8-apache

MAINTAINER Paul Redmond

COPY . /srv/app
COPY .docker/vhost.conf /etc/apache2/sites-available/000-default.conf

RUN chown -R www-data:www-data /srv/app \
    && a2enmod rewrite
  • vhost.conf
<VirtualHost *:80>
    DocumentRoot /srv/app/public

    <Directory "/srv/app/public">
        AllowOverride all
        Require all granted
    </Directory>

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
  • Building the Image

docker build --file .docker/Dockerfile -t laravel-docker .

  • docker-compose.yml
version: '3'
services:
  app:
    build:
      context: .
      dockerfile: .docker/Dockerfile
    image: laravel-docker
    ports:
      - 8080:80

Deploy

  • change php ver to 7.2 in cpanel
#!/bin/bash

mkdir ../${PWD##*/}_deploy
mkdir ../${PWD##*/}_deploy/index
cp -rf ./* ../${PWD##*/}_deploy/index
cp -rf ./public/* ../${PWD##*/}_deploy/

# can run optimize method

rm -rf ../${PWD##*/}_deploy/index/public
rm -rf ../${PWD##*/}_deploy/index/.docker
rm -rf ../${PWD##*/}_deploy/index/deploy.sh
rm -rf ../${PWD##*/}_deploy/index/readme.md

sed -i 's/\.\./index/g' ../${PWD##*/}_deploy/index.php

echo copy .env to index folder

#compress