ติดตั้ง Laravel 5 installer
composer global require " laravel/installer=~1.1"
สร้าง Laravel 5 application
~ /.composer/vendor/bin/laravel new myapp
ล้างโค้ดส่วนที่มากับตัว Framework
cd myapp
php artisan fresh
แก้ไขชื่อ Namespace จาก App => Myapp
php artisan app:name Myapp
vim myapp/app/Http/routes.php
ลบ
Route::get('/', 'WelcomeController@index');
เพิ่ม
Route::get('/', function() {
return ['Hello world'];
});
แก้คอนฟิก Test ให้สามารถใช้กับ Laravel 5 Framework ได้
cd myapp
codecept bootstrap
แก้ไข tests/functional.suite.yml
จาก
enabled: [Filesystem, FunctionalHelper]
เป็น
enabled: [Laravel5, Filesystem, FunctionalHelper]
ทดสอบด้วย
cd myapp
codecept build
codecept run
cd myapp
แก้ไข package.json
{
"private" : true ,
"devDependencies" : {
"gulp" : "^3.8.8" ,
"laravel-elixir" : "*"
} ,
"dependencies" : {
"gulp" : "^3.8.11" ,
"gulp-notify" : "^2.2.0" ,
"laravel-elixir" : "^0.14.2" ,
"notify-send" : "^0.1.2"
}
}
sudo apt-get install libnotify-bin
npm install
./node_modules/gulp/bin/gulp.js
สร้าง DB เริ่มต้นจาก setup_db.sh
#! /bin/bash
if ! type realpath & > /dev/null
then
sudo apt-get update && sudo apt-get install realpath -y;
fi
SCRIPT_PATH=$( dirname $( realpath -s $0 ) )
DB_NAME=dojo
DB_USER=admin
DB_PASS=
ACTION=${1}
function backup_db() {
mkdir -p ${SCRIPT_PATH} /backup;
mysqldump -u ${DB_USER} -p${DB_PASS} ${DB_NAME} > ${SCRIPT_PATH} /backup/${DB_NAME} _$( date +%Y%m%d) .sql
}
function new_db() {
mysql -u ${DB_USER} -p${DB_PASS} -e " DROP DATABASE \` ${DB_NAME} \` ;"
mysql -u ${DB_USER} -p${DB_PASS} -e " CREATE DATABASE \` ${DB_NAME} \` CHARACTER SET utf8 COLLATE utf8_general_ci;"
}
case ${ACTION} in
" backup" )
if mysql -u ${DB_USER} -p${DB_PASS} -e " show databases" | grep ${DB_NAME} & > /dev/null
then
echo " Database: ${DB_NAME} exists" ;
backup_db
fi
;;
" new" )
new_db
;;
esac
cd myapp
แก้ไขไฟล์ .env
แก้ไขไฟล์ setup_db.sh
ใช้งาน
/opt/www/setup_db.sh new เพื่อสร้างฐานข้อมูลใหม่
{
"directory" : "vendor/bower_components"
}
{
"name" : "laravel 5" ,
"version" : "0.0.0" ,
"authors" : [
"srandev"
] ,
"license" : "MIT" ,
"dependencies" : {
"bootstrap-sass-official" : "~3.3.4" ,
"font-awesome" : "~4.3.0"
}
}
var elixir = require ( 'laravel-elixir' ) ;
var paths = {
'jquery' : 'vendor/bower_components/jquery' ,
'bootstrap' : 'vendor/bower_components/bootstrap-sass-official/assets' ,
'fontawesome' : 'vendor/bower_components/font-awesome'
}
var includes = {
includePaths : [
paths . bootstrap + '/stylesheets' ,
paths . fontawesome + '/scss'
]
} ;
var scripts = [
paths . jquery + "/dist/jquery.js" ,
paths . bootstrap + "/javascripts/bootstrap.js"
] ;
elixir ( function ( mix ) {
mix . sass ( "app.scss" , 'public/css/' , includes )
. copy ( paths . bootstrap + '/fonts/bootstrap/**' , 'public/fonts' )
. scripts ( scripts , 'public/js/app.js' , './' ) ;
} ) ;
/opt/www/resources/assets/sass/app.scss
@import "bootstrap";
bower install
./node_modules/gulp/bin/gulp.js
สร้าง Authentication Cest
cd /opt/www
codecept generate:cest functional Authentication
public function guestCanAccessLoginPage (FunctionalTester $ I )
{
$ loginroute = '/auth/login ' ;
$ I ->amOnPage ($ loginroute );
$ I ->dontSeeAuthentication ();
$ I ->seeResponseCodeIs (200 );
$ I ->see ('Login ' );
}
Route::get ('/auth/login ' , function () {
return ['Login ' ];
});
เพิ่ม Composer dependency
composer require " illuminate/html:5.0.*@dev"
php artisan migrate:install