Laravel Cheat 表 http://cheats.jesse-obrien.ca/#

Artisan 

php artisan --help OR -h

php artisan --quiet OR -q

php artisan --version OR -V

php artisan --no-interaction OR -n

php artisan --ansi

php artisan --no-ansi

php artisan --env

// -v|vv|vvv Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debugphp artisan --verbose



php artisan changes

php artisan clear-compiled

php artisan down

php artisan dump-autoload

php artisan env

php artisan help

php artisan list

php artisan migrate

php artisan optimize

php artisan routes

php artisan serve

php artisan tinker

php artisan up

php artisan workbench



php artisan asset:publish [--bench[="vendor/package"]][--path[="..."]][package]

php artisan auth:reminders-table

php artisan cache:clear

php artisan command:make name [--command[="..."]][--path[="..."]][--namespace[="..."]]

php artisan config:publish

php artisan controller:make [--bench="vendor/package"]

php artisan db:seed [--class[="..."]][--database[="..."]]

php artisan key:generate

php artisan migrate [--bench="vendor/package"][--database[="..."]][--path[="..."]][--package[="..."]][--pretend][--seed]

php artisan migrate:install [--database[="..."]]

php artisan migrate:make name [--bench="vendor/package"][--create][--package[="..."]][--path[="..."]][--table[="..."]]

php artisan migrate:refresh [--database[="..."]][--seed]

php artisan migrate:reset [--database[="..."]][--pretend]

php artisan migrate:rollback [--database[="..."]][--pretend]

php artisan queue:listen [--queue[="..."]][--delay[="..."]][--memory[="..."]][--timeout[="..."]][connection]

php artisan queue:subscribe [--type[="..."]] queue url

php artisan queue:work [--queue[="..."]][--delay[="..."]][--memory[="..."]][--sleep][connection]

php artisan session:table

php artisan view:publish [--path[="..."]]package

php artisan tail [--path[="..."]][--lines[="..."]][connection]

Composer 

composer create-project laravel/laravel folder_name

composer install

composer update

composer dump-autoload [--optimize]

composer self-update

			

Routing 

Route::get('foo',function(){});Route::get('foo','ControllerName@function');Route::controller('foo','FooController');
Triggering Errors
App::abort(404);App::missing(function($exception){});thrownewNotFoundHttpException;
Route Parameters
Route::get('foo/{bar}',function($bar){});Route::get('foo/{bar?}',function($bar ='bar'){});
HTTP Verbs
Route::any('foo',function(){});Route::post('foo',function(){});Route::put('foo',function(){});Route::patch('foo',function(){});Route::delete('foo',function(){});// RESTful actionsRoute::resource('foo','FooController');
Secure Routes
Route::get('foo', array('https',function(){}));
Route Constraints
Route::get('foo/{bar}',function($bar){})->where('bar','[0-9]+');Route::get('foo/{bar}/{baz}',function($bar, $baz){})->where(array('bar'=>'[0-9]+','baz'=>'[A-Za-z]'))
Filters
// Declare an auth filterRoute::filter('auth',function(){});// Register a class as a filterRoute::filter('foo','FooFilter');Route::get('foo', array('before'=>'auth',function(){}));// Routes in this group are guarded by the 'auth' filterRoute::get('foo', array('before'=>'auth',function(){}));Route::group(array('before'=>'auth'),function(){});// Pattern filterRoute::when('foo/*','foo');// HTTP verb patternRoute::when('foo/*','foo', array('post'));
Named Routes
Route::currentRouteName();Route::get('foo/bar', array('as'=>'foobar',function(){}));
Route Prefixing
// This route group will carry the prefix 'foo'Route::group(array('prefix'=>'foo'),function(){})
Sub-Domain Routing
// {sub} will be passed to the closureRoute::group(array('domain'=>'{sub}.example.com'),function(){});

URLs 

URL::full();

URL::current();

URL::previous();

URL::to('foo/bar', $parameters, $secure);

URL::action('FooController@method', $parameters, $absolute);

URL::route('foo', $parameters, $absolute);

URL::secure('foo/bar', $parameters);

URL::asset('css/foo.css', $secure);

URL::secureAsset('css/foo.css');

URL::isValidUrl('http://example.com');

URL::getRequest();

URL::setRequest($request);

URL::getGenerator();

URL::setGenerator($generator);

Events 

Event::fire('foo.bar', array($bar));Event::listen('foo.bar',function($bar){});Event::listen('foo.*',function($bar){});Event::listen('foo.bar','FooHandler',10);Event::listen('foo.bar','BarHandler',5);Event::listen('foor.bar',function($event){returnfalse;});Event::queue('foo', array($bar));Event::flusher('foo',function($bar){});Event::flush('foo');Event::forget('foo');Event::subscribe(newFooEventHandler);

Database 

DB::connection('connection_name');

DB::statement('drop table users');

DB::listen(function($sql, $bindings, $time){ code_here;});

DB::transaction(function(){ transaction_code_here;});// Cache a query for $time minutesDB::table('users')->remember($time)->get();// Escape raw inputDB::raw('sql expression here');
Selects
DB::table('name')->get();

DB::table('name')->distinct()->get();

DB::table('name')->select('column as column_alias')->get();

DB::table('name')->where('name','=','John')->get();

DB::table('name')->whereBetween('column', array(1,100))->get();

DB::table('name')->whereIn('column', array(1,2,3))->get();

DB::table('name')->whereNotIn('column', array(1,2,3))->get();

DB::table('name')->whereNull('column')->get();

DB::table('name')->whereNotNull('column')->get();

DB::table('name')->groupBy('column')->get();

DB::table('name')->orderBy('column')->get();

DB::table('name')->having('count','>',100)->get();

DB::table('name')->skip(10)->take(5)->get();

DB::table('name')->first();

DB::table('name')->pluck('column');

DB::table('name')->lists('column');// JoinsDB::table('name')->join('table','name.id','=','table.id')->select('name.id','table.email');
Inserts, Updates, Deletes
DB::table('name')->insert(array('name'=>'John','email'=>'[email protected]'));

DB::table('name')->insertGetId(array('name'=>'John','email'=>'[email protected]'));// Batch insertDB::table('name')->insert(

	array('name'=>'John','email'=>'[email protected]')

	array('name'=>'James','email'=>'[email protected]'));// Update an entryDB::table('name')->where('name','=','John')->update(array('email'=>'[email protected]'));// Delete everything from a tableDB::table('name')->delete();// Delete specific recordsDB::table('name')->where('id','>','10')->delete();

DB::table('name')->truncate();
Aggregates
DB::table('name')->count();

DB::table('name')->max('column');

DB::table('name')->min('column');

DB::table('name')->avg('column');

DB::table('name')->sum('column');

DB::table('name')->increment('column');

DB::table('name')->increment('column', $amount);

DB::table('name')->decrement('column');

DB::table('name')->decrement('column', $amount);
Raw Expressions
DB::select('select * from users where id = ?', array('value'));

DB::table('name')->select(DB::raw('count(*) as count, column2'))->get();

Eloquent 

Model::create(array('key'=>'value'));// Fill a model with an array of attributes, beware of mass assignment!Model::fill($attributes);Model::destroy(1);Model::all();Model::find(1);// Find using dual primary keyModel::find(array('first','last'));// Throw an exception if the lookup failsModel::findOrFail(1);// Find using dual primary key and throw exception if the lookup failsModel::findOrFail(array('first','last'));Model::where('foo','=','bar')->get();Model::where('foo','=','bar')->first();// Throw an exception if the lookup failsModel::where('foo','=','bar')->firstOrFail();Model::where('foo','=','bar')->count();Model::where('foo','=','bar')->delete();Model::whereRaw('foo = bar and cars = 2', array(20))->get();Model::remember(5)->get();Model::remember(5,'cache-key-name')->get();Model::on('connection-name')->find(1);Model::with('relation')->get();Model::all()->take(10);Model::all()->skip(10);
Soft Delete
Model::withTrashed()->where('cars',2)->get();Model::withTrashed()->where('cars',2)->restore();Model::where('cars',2)->forceDelete();Model::onlyTrashed()->where('cars',2)->get();
Events
Model::creating(function($model){});Model::created(function($model){});Model::updating(function($model){});Model::updated(function($model){});Model::saving(function($model){});Model::saved(function($model){});Model::deleting(function($model){});Model::deleted(function($model){});Model::observe(newFooObserver);
Eloquent Configuration
Eloquent::unguard();// Disables mass assignment exceptions from being thrown from model inserts and updatesEloquent::reguard();// Renables any ability to throw mass assignment exceptions

The Remote Component 

Executing Commands
SSH::run(array $commands);

SSH::into($remote)->run(array $commands);// specify remote, otherwise assumes default

SSH::run(array $commands,function($line){

	echo $line.PHP_EOL;});
Tasks
SSH::define($taskName, array $commands);// define

SSH::task($taskName,function($line)// execute{

	echo $line.PHP_EOL;});
SFTP Uploads
SSH::put($localFile, $remotePath);

SSH::putString($string, $remotePath);

Schema 

Schema::create('table',function($table){

    $table->increments('id');});// Specify a ConnectionSchema::connection('foo')->create('table',function($table){});Schema::rename($from, $to);Schema::drop('table');Schema::dropIfExists('table');Schema::hasTable('table');Schema::hasColumn('table','column');// Update an existing tableSchema::table('table',function($table){});

$table->renameColumn('from','to');

$table->dropColumn(string|array);

$table->engine ='InnoDB';// Only work on MySQL$table->string('name')->after('email');
Indexes
$table->string('column')->unique();

$table->primary('column');// Creates a dual primary key$table->primary(array('first','last'));

$table->unique('column');

$table->unique('column','key_name');// Creates a dual unique index$table->unique(array('first','last'));

$table->unique(array('first','last'),'key_name');

$table->index('column');

$table->index('column','key_name');// Creates a dual index$table->index(array('first','last'));

$table->index(array('first','last'),'key_name');

$table->dropPrimary('table_column_primary');

$table->dropUnique('table_column_unique');

$table->dropIndex('table_column_index');
Foreign Keys
$table->foreign('user_id')->references('id')->on('users');

$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

$table->dropForeign('posts_user_id_foreign');
Column Types
$table->increments('id');

$table->bigIncrements('id');

$table->string('email');

$table->string('name',100);

$table->integer('votes');

$table->bigInteger('votes');

$table->smallInteger('votes');

$table->float('amount');

$table->double('column',15,8);

$table->decimal('amount',5,2);

$table->boolean('confirmed');

$table->date('created_at');

$table->dateTime('created_at');

$table->time('sunrise');

$table->timestamp('added_on');

$table->timestamps();

$table->softDeletes();

$table->text('description');

$table->binary('data');

$table->enum('choices', array('foo','bar'));

$table->morphs('parent');// Adds INTEGER parent_id and STRING parent_type->nullable()->default($value)->unsigned()

Input 

Input::get('key');// Default if the key is missingInput::get('key','default');Input::has('key');Input::all();// Only retrieve 'foo' and 'bar' when getting inputInput::only('foo','bar');// Disregard 'foo' when getting inputInput::except('foo');
Session Input (flash)
// Flash input to the sessionInput::flash();Input::flashOnly('foo','bar');Input::flashExcept('foo','baz');Input::old('key','default_value');
Files
// Use a file that's been uploadedInput::file('filename');// Determine if a file was uploadedInput::hasFile('filename');// Access file propertiesInput::file('name')->getRealPath();Input::file('name')->getClientOriginalName();Input::file('name')->getClientOriginalExtension();Input::file('name')->getSize();Input::file('name')->getMimeType();// Move an uploaded fileInput::file('name')->move($destinationPath);// Move an uploaded fileInput::file('name')->move($destinationPath, $fileName);

Cache 

Cache::put('key','value', $minutes);Cache::add('key','value', $minutes);Cache::forever('key','value');Cache::remember('key', $minutes,function(){return'value'});Cache::rememberForever('key',function(){return'value'});Cache::forget('key');Cache::has('key');Cache::get('key');Cache::get('key','default');Cache::get('key',function(){return'default';});Cache::increment('key');Cache::increment('key', $amount);Cache::decrement('key');Cache::decrement('key', $amount);Cache::section('group')->put('key', $value);Cache::section('group')->get('key');Cache::section('group')->flush();

Cookies 

Cookie::get('key');// Create a cookie that lasts for everCookie::forever('key','value');// Set a cookie before a response has been createdCookie::queue('key','value','minutes');// Send a cookie with a response$response =Response::make('Hello World');

$response->withCookie(Cookie::make('name','value', $minutes));

Sessions 

Session::get('key');Session::get('key','default');Session::get('key',function(){return'default';});Session::put('key','value');Session::all();Session::has('key');Session::forget('key');Session::flush();Session::regenerate();Session::flash('key','value');Session::reflash();Session::keep(array('key1','key2'));

Requests 

Request::path();Request::is('foo/*');Request::url();Request::segment(1);Request::header('Content-Type');Request::server('PATH_INFO');Request::ajax();Request::secure();

Responses 

returnResponse::make($contents);returnResponse::make($contents,200);returnResponse::json(array('key'=>'value'));returnResponse::json(array('key'=>'value'))->setCallback(Input::get('callback'));returnResponse::download($filepath);returnResponse::download($filepath, $filename, $headers);// Create a response and modify a header value$response =Response::make($contents,200);

$response->header('Content-Type','application/json');return $response;// Attach a cookie to a responsereturnResponse::make($content)->withCookie(Cookie::make('key','value'));

Redirects 

returnRedirect::to('foo/bar');returnRedirect::to('foo/bar')->with('key','value');returnRedirect::to('foo/bar')->withInput(Input::get());returnRedirect::to('foo/bar')->withInput(Input::except('password'));returnRedirect::to('foo/bar')->withErrors($validator);returnRedirect::back();returnRedirect::route('foobar');returnRedirect::route('foobar', array('value'));returnRedirect::route('foobar', array('key'=>'value'));returnRedirect::action('FooController@index');returnRedirect::action('FooController@baz', array('value'));returnRedirect::action('FooController@baz', array('key'=>'value'));// If intended redirect is not defined, defaults to foo/bar.returnRedirect::intended('foo/bar');

IoC 

App::bind('foo',function($app){returnnewFoo;});App::make('foo');// If this class exists, it's returnedApp::make('FooBar');App::singleton('foo',function(){returnnewFoo;});App::instance('foo',newFoo);App::bind('FooRepositoryInterface','BarRepository');App::register('FooServiceProvider');// Listen for object resolutionApp::resolving(function($object){});

Security 

Passwords
Hash::make('secretpassword');Hash::check('secretpassword', $hashedPassword);Hash::needsRehash($hashedPassword);
Auth
// Check if the user is logged inAuth::check();Auth::user();Auth::attempt(array('email'=> $email,'password'=> $password));// 'Remember me' by passing true to Auth::attempt()Auth::attempt($credentials,true);// Log in for a single requestAuth::once($credentials);Auth::login(User::find(1));Auth::loginUsingId(1);Auth::logout();Auth::validate($credentials);Auth::basic('username');Auth::onceBasic();Password::remind($credentials,function($message, $user){});
Encryption
Crypt::encrypt('secretstring');Crypt::decrypt($encryptedString);Crypt::setMode('ctr');Crypt::setCipher($cipher);

Mail 

Mail::send('email.view', $data,function($message){});Mail::send(array('html.view','text.view'), $data, $callback);Mail::queue('email.view', $data,function($message){});Mail::queueOn('queue-name','email.view', $data, $callback);Mail::later(5,'email.view', $data,function($message){});// Write all email to logs instead of sendingMail::pretend();
Messages
// These can be used on the $message instance passed into Mail::send() or Mail::queue()$message->from('[email protected]','Mr. Example');

$message->sender('[email protected]','Mr. Example');

$message->returnPath('[email protected]');

$message->to('[email protected]','Mr. Example');

$message->cc('[email protected]','Mr. Example');

$message->bcc('[email protected]','Mr. Example');

$message->replyTo('[email protected]','Mr. Example');

$message->subject('Welcome to the Jungle');

$message->priority(2);

$message->attach('foo\bar.txt', $options);// This uses in-memory data as attachments$message->attachData('bar','Data Name', $options);// Embed a file in the message and get the CID$message->embed('foo\bar.txt');

$message->embedData('foo','Data Name', $options);// Get the underlying Swift Message instance$message->getSwiftMessage();

Queues 

Queue::push('SendMail', array('message'=> $message));Queue::push('SendEmail@send', array('message'=> $message));Queue::push(function($job)use $id {});

php artisan queue:listen

php artisan queue:listen connection

php artisan queue:listen --timeout=60

php artisan queue:work

			

Validation 

Validator::make(

	array('key'=>'Foo'),

	array('key'=>'required|in:Foo'));Validator::extend('foo',function($attribute, $value, $params){});Validator::extend('foo','FooValidator@validate');Validator::resolver(function($translator, $data, $rules, $msgs){returnnewFooValidator($translator, $data, $rules, $msgs);});
Rules
accepted

active_url

after:YYYY-MM-DD

before:YYYY-MM-DD

alpha

alpha_dash

alpha_num

between:1,10

confirmed

date

date_format:YYYY-MM-DD

different:fieldname

email

exists:table,column

image

in:foo,bar,baz

not_in:foo,bar,baz

integer

numeric

ip

max:value

min:value

mimes:jpeg,png

regex:[0-9]

required

required_if:field,value

required_with:foo,bar,baz

required_without:foo,bar,baz

same:field

size:value

unique:table,column,except,idColumn

url



			

Views 

View::make('path/to/view');View::make('foo/bar')->with('key','value');View::make('foo/bar')->withKey('value');View::make('foo/bar', array('key'=>'value'));View::exists('foo/bar');// Share a value across all viewsView::share('key','value');// Nesting viewsView::make('foo/bar')->nest('name','foo/baz', $data);// Register a view composerView::composer('viewname',function($view){});//Register multiple views to a composerView::composer(array('view1','view2'),function($view){});// Register a composer classView::composer('viewname','FooComposer');View::creator('viewname',function($view){});

Blade Templates 

@extends('layout.name')// Begin a section@section('name')// End a section@stop// End a section and yield@show@parent// Show a section in a template@yield('name')@include('view.name')@include('view.name', array('key'=>'value'));@lang('messages.name')@choice('messages.name',1);@if@else@elseif@endif@unless@endunless@for@endfor@foreach@endforeach@while@endwhile// Echo content{{ $var }}// Echo escaped content{{{ $var }}}{{--BladeComment--}}// Echoing Data After Checking For Existence{{{ $name or'Default'}}}// Displaying Raw Text With Curly Braces@{{This will not be processed byBlade}}

Forms 

Form::open(array('url'=>'foo/bar','method'=>'PUT'));Form::open(array('route'=>'foo.bar'));Form::open(array('route'=> array('foo.bar', $parameter)));Form::open(array('action'=>'FooController@method'));Form::open(array('action'=> array('FooController@method', $parameter)));Form::open(array('url'=>'foo/bar','files'=>true));Form::close();Form::token();Form::model($foo, array('route'=> array('foo.bar', $foo->bar)));
Form Elements
Form::label('id','Description');Form::label('id','Description', array('class'=>'foo'));Form::text('name');Form::text('name', $value);Form::text('name', $value, array('class'=>'name'));Form::textarea('name');Form::textarea('name', $value);Form::textarea('name', $value, array('class'=>'name'));Form::hidden('foo', $value);Form::password('password');Form::password('password', array('placeholder'=>'Password'));Form::email('name', $value, array());Form::file('name', array('class'=>'name'));Form::checkbox('name','value');// Generating a checkbox that is checkedForm::checkbox('name','value',true, array('class'=>'name'));Form::radio('name','value');// Generating a radio input that is selectedForm::radio('name','value',true, array('class'=>'name'));Form::select('name', array('key'=>'value'));Form::select('name', array('key'=>'value'),'key', array('class'=>'name'));Form::submit('Submit!');Form::macro('fooField',function(){return'<input type="custom"/>';});Form::fooField();

HTML Builder

HTML::macro('name',function(){});

HTML::entities($value);

HTML::decode($value);

HTML::script($url, $attributes);

HTML::style($url, $attributes);

HTML::image($url, $alt, $attributes);

HTML::link($url,'title', $attributes, $secure);

HTML::secureLink($url,'title', $attributes);

HTML::linkAsset($url,'title', $attributes, $secure);

HTML::linkSecureAsset($url,'title', $attributes);

HTML::linkRoute($name,'title', $parameters, $attributes);

HTML::linkAction($action,'title', $parameters, $attributes);

HTML::mailto($email,'title', $attributes);

HTML::email($email);

HTML::ol($list, $attributes);

HTML::ul($list, $attributes);

HTML::listing($type, $list, $attributes);

HTML::listingElement($key, $type, $value);

HTML::nestedListing($key, $type, $value);

HTML::attributes($attributes);

HTML::attributeElement($key, $value);

HTML::obfuscate($value);

Strings 

// Transliterate a UTF-8 value to ASCIIStr::ascii($value)Str::camel($value)Str::contains($haystack, $needle)Str::endsWith($haystack, $needles)// Cap a string with a single instance of a given value.Str::finish($value, $cap)Str::is($pattern, $value)Str::length($value)Str::limit($value, $limit =100, $end ='...')Str::lower($value)Str::words($value, $words =100, $end ='...')Str::plural($value, $count =2)// Generate a more truly "random" alpha-numeric string.Str::random($length =16)// Generate a "random" alpha-numeric string.Str::quickRandom($length =16)Str::upper($value)Str::title($value)Str::singular($value)Str::slug($title, $separator ='-')Str::snake($value, $delimiter ='_')Str::startsWith($haystack, $needles)// Convert a value to studly caps case.Str::studly($value)Str::macro($name, $macro)

Localization 

App::setLocale('en');Lang::get('messages.welcome');Lang::get('messages.welcome', array('foo'=>'Bar'));Lang::has('messages.welcome');Lang::choice('messages.apples',10);

Files 

File::exists('path');File::get('path');File::getRemote('path');File::getRequire('path');File::requireOnce('path');File::put('path','contents');File::append('path','data');File::delete('path');File::move('path','target');File::copy('path','target');File::extension('path');File::type('path');File::size('path');File::lastModified('path');File::isDirectory('directory');File::isWritable('path');File::isFile('file');// Find path names matching a given pattern.File::glob($patterns, $flag);// Get an array of all files in a directory.File::files('directory');// Get all of the files from the given directory (recursive).File::allFiles('directory');// Get all of the directories within a given directory.File::directories('directory');File::makeDirectory('path',  $mode =0777, $recursive =false);File::copyDirectory('directory','destination', $options =null);File::deleteDirectory('directory', $preserve =false);File::cleanDirectory('directory');

Helpers 

Arrays
array_add($array,'key','value');

array_build($array,function(){});

array_divide($array);

array_dot($array);

array_except($array, array('key'));

array_fetch($array,'key');

array_first($array,function($key, $value){}, $default);// Strips keys from the arrayarray_flatten($array);

array_forget($array,'foo');// Dot notationarray_forget($array,'foo.bar');

array_get($array,'foo','default');

array_get($array,'foo.bar','default');

array_only($array, array('key'));// Return array of key => valuesarray_pluck($array,'key');// Return and remove 'key' from arrayarray_pull($array,'key');

array_set($array,'key','value');// Dot notationarray_set($array,'key.subkey','value');

array_sort($array,function(){});// First element of an arrayhead($array);// Last element of an arraylast($array);
Paths
app_path();

public_path();// App root pathbase_path();

storage_path();
Strings
camel_case($value);

class_basename($class);// Escape a stringe('<html>');

starts_with('Foo bar.','Foo');

ends_with('Foo bar.','bar.');

snake_case('fooBar');

str_contains('Hello foo bar.','foo');// Result: foo/bar/str_finish('foo/bar','/');

str_is('foo*','foobar');

str_plural('car');

str_random(25);

str_singular('cars');// Result: FooBarstudly_case('foo_bar');

trans('foo.bar');

trans_choice('foo.bar', $count);
URLs and Links
action('FooController@method', $parameters);

link_to('foo/bar', $title, $attributes, $secure);

link_to_asset('img/foo.jpg', $title, $attributes, $secure);

link_to_route('route.name', $title, $parameters, $attributes);

link_to_action('FooController@method', $title, $params, $attrs);// HTML Linkasset('img/photo.jpg', $title, $attributes);// HTTPS linksecure_asset('img/photo.jpg', $title, $attributes);

secure_url('path', $parameters);

route($route, $parameters, $absolute =true);

url('path', $parameters = array(), $secure =null);
Miscellaneous
csrf_token();

dd($value);

value(function(){return'bar';});with(newFoo)->chainedMethod();

你可能感兴趣的:(laravel)