Laravelæ¯ä¸ä¸ªæçç¾å¥½åæ¯çå¹´è½»æ¡æ¶ï¼å®ç社åºå
满çæ´»åï¼åæ¶æä¾äºå®æ´èæ¸
æ°çææ¡£ï¼èä¸ä¸ºå¿«éãå®å
¨å°å¼åç°ä»£åºç¨æä¾äºå¿
è¦çåè½ã
2011å¹´ï¼Taylor Otwellé¦æ¬¡å°Laravel带ç»è¿ä¸ªä¸çï¼å½¼æ¶ï¼Laravelå°±æ¯ä¸ä¸ªå
¨æ°ä¸ç°ä»£çæ¡æ¶ãLaravelåºäºMVCæ¶æï¼å¯ä»¥æ»¡è¶³è¯¸å¦äºä»¶å¤çãç¨æ·èº«ä»½éªè¯çåç§éæ±ï¼åæ¶éè¿å
管çå®ç°æ¨¡åååå¯æ©å±ç代ç ï¼å¹¶ä¸å¯¹æ°æ®åºç®¡çæçå¥å£®çæ¯æã
ä¸ç®¡æ¯ä¸å®¶è¿æ¯æ°æï¼ä¸æ¦æ¥è§¦å°Laravelï¼é½ä¼æç¸è§æ¨æä¹æââè¿æ£æ¯ä½ å¨ä¸ºPHP项ç®å¯»æ¾çæ¡æ¶ãæ¬ææ们å°è®¨è®ºä¸ºä»ä¹Laravelä¼æ为ææåææµè¡çPHPæ¡æ¶ã
模åå&å¯æ©å±æ§
Laravelæ¯æ¨¡åååå¯æ©å±çï¼ä½ å¯ä»¥å¨å
å«è¶
è¿5500个ç¨åºå
çPackalystä¸æ¾å°ä½ æ³è¦æ·»å çä»»ä½ä»£ç ã
å¾®æå¡&API
Lumenæ¯ä¸ä¸ªç±Laravelè¡ççä¸æ³¨äºæ§è½çå¾®æ¡æ¶ã使ç¨Lumenæä¾çé«æ§è½APIä½ å¯ä»¥æ´å ç®åå¿«éå°å¼åå¾®å项ç®ãLumen使ç¨æå°çé
ç½®éæäºLaravelçææéè¦ç¹æ§ï¼ä½ å¯ä»¥éè¿å°ä»£ç å¤å¶å°Laravel项ç®æ¥å®ç°æ¡æ¶çå®æ´è¿ç§»ã
<?php
$app->get('/', function() {
return view('lumen');
});
$app->post('framework/{id}', function($framework) {
$this->dispatch(new Energy($framework));
});
HTTPè·¯ç±
Laravelæ¥æ类似äºRuby on Railsçå¿«éé«æçè·¯ç±ç³»ç»ãå®å¯ä»¥è®©ç¨æ·éè¿å¨æµè§å¨ä¸è¾å
¥è·¯å¾çæ¹å¼è®©åºç¨ç¨åºçåé¨åç¸å
³èã
Route::get('/', function () {
return 'Hello World';
});
HTTPä¸é´ä»¶
Route::get('/', function () {
return 'Hello World';
});
Laravelå¯ä»¥éè¿ä¸é´ä»¶å¯¹åºç¨è¿è¡ä¿æ¤ââä¸é´ä»¶ä¼å¤çåæåè¿æ»¤å°è¾¾æå¡å¨çHTTP请æ±ãä½ å¯ä»¥ä½¿ç¨ä¸é´ä»¶æ¥éªè¯æ³¨åç¨æ·ãé¿å
è·¨ç«èæ¬æ»å»ï¼XSSï¼ä»¥åå
¶å®å®å
¨é®é¢ã
<?php
namespace App\Http\Middleware;
use Closure;
class OldMiddleware {
public function handle($request, Closure $next) {
if ($request->input('age') <= 200) {
return redirect('home');
}
return $next($request);
}
}
ç¼å
Laravelæä¾äºå¥å£®çç¼åç³»ç»ï¼ä½¿ç¨ç¼åå¯ä»¥è®©åºç¨å è½½å°æ´å å¿«éï¼ä»è带æ¥æ´å¥½çç¨æ·ä½éªã
Cache::extend('mongo', function($app) {
return Cache::repository(new MongoStore);
});
身份éªè¯
å®å
¨æ¯è³å
³éè¦çãLaravelèªå¸¦å¯¹æ¬å°ç¨æ·ç身份éªè¯ï¼å¹¶å¯ä»¥ä½¿ç¨ârememberâ é项æ¥è®°ä½ç¨æ·ãæ¤å¤ä½ è¿å¯ä»¥å¼å
¥ä¸äºé¢å¤åæ°ï¼ä¾å¦æ¯å¦æ¯æ´»è·ç¨æ·ã
if (Auth::attempt(['email' => $email, 'password' => $password, 'active' => 1 ], $remember)) {
// The user is being remembered...
}
éæStripe
Laravel Cashierå¯ä»¥æ»¡è¶³ä½ å¼åæ¯ä»ç³»ç»è¿ç¨ä¸æéè¦çä»»ä½éæ±ãé¤æ¤ä¹å¤ï¼å®è¿åæ¥å¹¶éæäºç¨æ·èº«ä»½éªè¯ç³»ç»ãæ以ï¼ä½ ä¸åéè¦æ
å¿å¦ä½å°è®¡è´¹ç³»ç»éæå°å¼åä¸äºã
$user = User::find(1);
$user->subscription('monthly')->create($creditCardToken);
ä»»å¡èªå¨å
Elixiræ¯ä¸ä¸ªè®©æ们å¯ä»¥ä½¿ç¨Gulpå®ä¹ä»»å¡çLaravel APIï¼æ们å¯ä»¥ä½¿ç¨Elixirå®ä¹é¢å¤çå¨æ¥å缩CSS åJavaScriptã
elixir(function(mix) {
mix.browserify('main.js');
});
å å¯
ä¸ä¸ªå®å
¨çåºç¨åºè¯¥åå°å¯ä»¥å¯¹æ°æ®è¿è¡å å¯ãå¨Laravelä¸ï¼å¯ä»¥ä½¿ç¨OpenSSLåAES-256-CBCå å¯ç®æ³æ¥æ»¡è¶³ä½ ææçå å¯éæ±ãæ¤å¤ï¼ææçå å¯å¼é½éè¿è®¤è¯ç è¿è¡ç¾å以é¿å
å å¯ä¿¡æ¯è¢«ç¯¡æ¹ã
use Illuminate\Contracts\Encryption\DecryptException;
try {
$decrypted = Crypt::decrypt($encryptedValue);
} catch (DecryptException $e) {
//
}
äºä»¶å¤ç
Laravelåºç¨ä¸å¯¹äºä»¶çå®ä¹ãè®°å½åçå¬é½é常便æ·ãæå¡æä¾è
EventServiceProviderä¸çlistenå±æ§å
å«äºåºç¨ä¸çææäºä»¶å表ã
protected $listen = [
'App\Events\PodcastWasPurchased' => [
'App\Listeners\EmailPurchaseConfirmation',
],
];
å页
å¨Laravelä¸å页é常ç®åï¼å 为å®è½å¤æ ¹æ®ç¨æ·å¨æµè§å¨ä¸çå½å页çæä¸ç³»åå页é¾æ¥ã
<?php
namespace App\Http\Controllers;
use DB;
use App\Http\Controllers\Controller;
class UserController extends Controller {
public function index() {
$users = DB::table('users')->paginate(15);
return view('user.index', ['users' => $users]);
}
}
对象å
³ç³»æ å°ï¼ORMï¼
Laravelå
å«äºä¸ä¸ªæ°æ®åºå¤çå±ï¼å
¶ä¸ç对象å
³ç³»æ å°è¢«ç§°ä½Eloquentãå¦å¤è¿ä¸ªå¯¹è±¡å
³ç³»æ å°ä¹éç¨äºPostgreSQLã
$users = User::where('votes', '>', 100)->take(10)->get();
foreach ($users as $user) {
var_dump($user->name);
}
åå
æµè¯
åå
æµè¯çå¼åæ¯ä¸ä¸ªè费大éæ¶é´çä»»å¡ï¼ä½æ¯å®å´ä¿è¯äºæ们çåºç¨è½å¤æ£å¸¸å·¥ä½ï¼ä¸åºé®é¢ãLaravel使ç¨PHPUnitè¿è¡åå
æµè¯ã
<?php
use Illuminate\Foundation\Testing\WithoutMiddleware;
use Illuminate\Foundation\Testing\DatabaseTransactions;
class ExampleTest extends TestCase {
public function testBasicExample() {
$this->visit('/')->see('Laravel 5')->dontSee('Rails');
}
}
å¾
åäºé¡¹æ¸
åï¼Queueï¼
Laravelæä¾äºå¨åå°ä½¿ç¨å¾
åäºé¡¹æ¸
åï¼to do listï¼å¤çå¤æã漫é¿æµç¨çéæ©ï¼å¥½å§ï¼å
¶å®å°±æ¯éåï¼éåå¯ä»¥è®©æ们å¼æ¥å¤çæäºæµç¨èä¸éè¦ç¨æ·å¨å 载页é¢æ¶é¿æ¶é´ççå¾
ã
Queue::push ( new SendEmail ( $ message ));
温馨提示:答案为网友推荐,仅供参考