Skip to content

Instantly share code, notes, and snippets.

Takuya Sato nazo

Block or report user

Report or block nazo

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
@nazo
nazo / gist:de02ea6c4abf470b8b4c
Last active Aug 29, 2015
[php][laravel5]DB周り
View gist:de02ea6c4abf470b8b4c

基本的な使い方

    $results = \DB::select('select * from articles where id = ?', [2]);

Query Builderの説明を読んだほうが早い。通常はEloquent使うと思うので使わないと思う。特殊なSQLを発行したい時に使おう。

Eloquent ORM

use Illuminate\Database\Eloquent\Model;
class User extends Model
@nazo
nazo / gist:019ba10e4ac75b33c83e
Created May 18, 2015
[php][laravel5].envで「null」という文字列を指定するとnull値になる
View gist:019ba10e4ac75b33c83e
まあそんなことしないと思いますが…
ちなみにこれはlaravelの機能ではなく、phpdotenvというライブラリです。他言語のもあります。
@nazo
nazo / gist:7a6109f07a624082d01e
Last active Aug 29, 2015
[php][laravel5]Laravel5付属の便利関数
View gist:7a6109f07a624082d01e

Support/helplers.phpにある

studly_case

trait_uses_recursive

value

値を返すが、Closureだった場合はそれを実行した結果を返す。

@nazo
nazo / gist:116f7ff2401d231c2619
Created May 18, 2015
[php][laravel5]Laravelのサービスプロバイダ
View gist:116f7ff2401d231c2619

サービスプロバイダの生成

$ php artisan make:provider NazoServiceProvider

という感じで生成。app/Providers/以下に生成される。

サービスプロバイダの登録

@nazo
nazo / gist:f5859ee3334c6da09041
Created May 18, 2015
[php][laravel5]例外の内容をログに出力
View gist:f5859ee3334c6da09041

ほっといたら例外はログに出るんだけど、例えばログには吐きたいけどcatchしてプログラムを終了させたくない時は、

try {
} catch(FooException $e) {
   \App::make('Illuminate\Contracts\Debug\ExceptionHandler')->report($e);
   // ...
}
@nazo
nazo / gist:08afe5edc3963210f1cb
Created May 18, 2015
[php]PHP5.3系のGCとメモリ確保を抑える方法
View gist:08afe5edc3963210f1cb

PHP5.3以降のPHP5系では、参照カウント法によるGCが実装されています。

基本

PHPの変数は「zval」というコンテナ(構造体)に格納されます。 PHPは全てzvalで統一されているため、無駄が多いということで、次世代PHPであるPHP7ではzval自体の見直しが図られています。

変数はどのタイミングで解放されるか

基本的には変数がスコープから外れた時点で解放されます。また、スコープ内でもunset()することにより該当の変数は解放されます。

@nazo
nazo / gist:f1f7dedad41968eae1a3
Last active Aug 29, 2015
[cocos2dx]cocos2d-x 3.xのインストールと最初に行うこと
View gist:f1f7dedad41968eae1a3

インストール方法はREADME.mdに大体書いてあるけど、何となく使ってみたくなったもので…

ダウンロード

  • githubから直接cloneしたらgit submodle init / git submodule updateしてね
  • python setup.py
  • .bash_profileしか出来ないのでzsh派は出来上がった.bash_profileをコピペ
  • Android作らないならXcodeだけ入れておけばいいけど、Android版も作りたいならAndroidSDKとかAntとか入れておこう(AntはHomebrewで入るよ)
  • python download_deps.py
  • external以下にファイルがもりもり増えます。jsonとかsqliteとかwebsocketsとか落ちてくるので必須
@nazo
nazo / gist:96ce650f665fac1a9e64
Created May 18, 2015
[php]composer autoloadを活用しよう
View gist:96ce650f665fac1a9e64

composer autoload対応の素晴らしさを前回の記事で書いたけど、最小限の例を用意していないので、ちょっと書いてみる。

概要

composer autoloadを使うと、requireを書く必要が(ほぼ)無くなるよ。

使い方

composerがインストールされている前提で、まず、プロジェクトルートにcomposer.jsonファイルを作成する。

@nazo
nazo / gist:1030910
Created Jun 17, 2011
Symfony2 Beta5 twig.extension setting
View gist:1030910
services:
twig.extension.text:
class: Twig_Extensions_Extension_Text
tags:
- { name: twig.extension }
@nazo
nazo / gist:2840462
Created May 31, 2012
XVimが不思議な挙動をするコード
View gist:2840462
//
// RootViewController.m
// Locations
//
// Created by nazo on 12/05/31.
// Copyright (c) 2012年 __MyCompanyName__. All rights reserved.
//
#import "RootViewController.h"
You can’t perform that action at this time.