PHP5.3以降のPHP5系では、参照カウント法によるGCが実装されています。
PHPの変数は「zval」というコンテナ(構造体)に格納されます。 PHPは全てzvalで統一されているため、無駄が多いということで、次世代PHPであるPHP7ではzval自体の見直しが図られています。
基本的には変数がスコープから外れた時点で解放されます。また、スコープ内でもunset()することにより該当の変数は解放されます。
ほっといたら例外はログに出るんだけど、例えばログには吐きたいけどcatchしてプログラムを終了させたくない時は、
try {
} catch(FooException $e) {
\App::make('Illuminate\Contracts\Debug\ExceptionHandler')->report($e);
// ...
}
まあそんなことしないと思いますが… | |
ちなみにこれはlaravelの機能ではなく、phpdotenvというライブラリです。他言語のもあります。 |
$results = \DB::select('select * from articles where id = ?', [2]);
Query Builderの説明を読んだほうが早い。通常はEloquent使うと思うので使わないと思う。特殊なSQLを発行したい時に使おう。
use Illuminate\Database\Eloquent\Model;
class User extends Model
500エラーなら500.blade.php出してくれると思った?残念でした!HttpExceptionを継承してないと本番でもSymfonyのエラー画面になります!
本番でSymfonyのエラー画面出したい奴なんていないだろ…何考えてるんだよ…というわけでapp/Exceptions/Handler.php
を書き換える。
use Symfony\Component\HttpKernel\Exception\HttpException;
...
public function render($request, Exception $e)
{
// | |
// RootViewController.m | |
// Locations | |
// | |
// Created by nazo on 12/05/31. | |
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved. | |
// | |
#import "RootViewController.h" |
services: | |
twig.extension.text: | |
class: Twig_Extensions_Extension_Text | |
tags: | |
- { name: twig.extension } |