タグ

ブックマーク / localdisk.hatenablog.com (5)

  • そろそろ Simple HTML DOM Parser を使うのはやめたほうがいい - localdisk

    Simple HTML DOM Parser といえば定番のスクレイピングライブラリで、僕も随分お世話になったわけだけど遅いし重いので Goutte 使ったほうがいいという話です。某サイトをスクレイピングするのに比較したら特にメモリ消費に大きな差がでました。 比較したスクリプトは Github においてありますので自由に使ってください。なおプロファイラは @koriym さんが Qiita にポストしたものを使用させていただきました。 PHPの簡単ベンチマーク プログラム スクレイピング対象のサイトはこのブログにしました。あざといですね。タイトルのリストを出力するプログラムです。 Simple HTML DOM Parser <?php require_once './vendor/autoload.php'; require_once './profiler.php'; $html =

    そろそろ Simple HTML DOM Parser を使うのはやめたほうがいい - localdisk
    hiro_y
    hiro_y 2014/02/06
  • 簡易 Migration ツール Ekot(エコー) を作ったよ - localdisk

    1回書いたエントリが消えちゃったのでやっつけで書いちゃうよ。 Rails っていうのは僕にとってそう魅力的でないけれど、1つだけ羨ましい機能がある。それが Migration. あまりに羨ましすぎて、PHPJava のお仕事でも Railsプロジェクトを作って Migration の機能だけ使ったりしてた。でも、それもめんどいので PHP 製で探し始めたところあるにはあるが、ORM の付属だったり array で定義をゴリゴリ書いたりして性にあわないので、自分で作ることにした。 localdisk / Ekot — Bitbucket ダウンロードはここから ekot-0.0.1.zip をダウンロードして下さい。 使い方 解凍したらコマンドプロンプトに「php ekot generate [任意の名前]」 すると「migrate」ってフォルダに「_タイムスタンプ任意の名前.ph

    簡易 Migration ツール Ekot(エコー) を作ったよ - localdisk
    hiro_y
    hiro_y 2010/05/17
    MySQLに対応したmigrationツール。
  • Simple Validation Framework Haraiso - localdisk

    ここのところ、夜なべして作っていたのがようやく形になったので公開します。 localdisk / Haraiso — Bitbucket コメントアノテーションで Validation を行います。使い方はとても簡単。 localdisk / Haraiso / Downloads — Bitbucketより Zip ファイルをダウンロードして解凍 解凍してできた Haraiso ディレクトリを include_path に含める あとはこんなこんな感じに書く <?php require_once 'Haraiso.php'; class Paraiso { /** * foo * * @var string * @Required(arg = なまえ) * @Alpha(arg = なまえ) */ public $name = ''; /** * Constructor */ publi

    Simple Validation Framework Haraiso - localdisk
    hiro_y
    hiro_y 2010/03/19
    validationフレームワーク、コメントアノテーションを利用。
  • テンプレートエンジン Smoochy を公開します - localdisk

    Twitter で再三「リリースするよ」とか言っておきながら全然出来ていませんでしたが、せっかくのクリスマスなので、公開してみることにしました。コードがかなり汚いですが、一応意図通り動いてますので。お正月とかにドキュメント書いたりリファクタリングするつもりです。 名前は Smoochy(すむーちー) です。由来は作ってる時によく聴いていた坂龍一のアルバム名から。 以下説明。 はじめに Smoochyとは? Smoochy は PHP で作られたテンプレートエンジンです。Smoochy は Pure HTML をテンプレートとして使用するため、当の意味で「デザインとロジックの分離」を実現しています。 独自タグや独自属性、ましてや {$hogehoge} のようなマークアップも必要ありません。 インストール bitbucket.org より Smoochy.zip をダウンロードします。

    テンプレートエンジン Smoochy を公開します - localdisk
    hiro_y
    hiro_y 2009/12/25
    要素のIDベースで値を置換するテンプレートエンジン。
  • PHPでAOPしてみた - localdisk

    PHPでDIはたまに見かけるけどPHPでAOPってのはあまりみないですね。S2.PHP5くらいしかない。 The Seasar Project - S2Container.PHP で、AOPしたいってだけでS2.PHP5をいれるのもアリでしょうけど、もっとちっちゃく利用したかったのでプロトタイプを作ってみた。 アスペクトクラスを書く <?php class Aspect { private $clazz; private $obj; private $intercepters = array(); public function __construct($obj) { if (is_null($obj) || !isset($obj) || !is_object($obj)) { throw new Exception('オブジェクトじゃないとだめ'); } $this->obj = $o

    PHPでAOPしてみた - localdisk
    hiro_y
    hiro_y 2009/06/02
    PHPでAOP。リフレクション使う。
  • 1