タグ

ブックマーク / blog.tojiru.net (4)

  • packagist内でlaravelの定義が巨大すぎて困る

    ここでぼやいても誰にも伝わらない気がするけど、一旦吐き出しておきます。 事の経緯 私は https://packagist.org のミラーサイト packagist.jp を運営しています。 スクレイピングのプログラムがバグっていて、1ヶ月に一度ぐらい古くなったファイルを掃除して回る定期作業があるのですが、その中で妙にlaravel関連のパッケージ情報が巨大であることに気づきました。 例えば、私のMacのローカルキャッシュに残っているパッケージ情報をファイルサイズでsortすると、上位は全てlaravel関連のものになります。これらはpackagist.jpの中にミラーリングされているファイルと全く同じものです。 1971473 p-provider-2016-01.json 2058474 p-provider-2016-04.json 3687200 provider-illumin

    packagist内でlaravelの定義が巨大すぎて困る
  • PHPでXMLを生成するためのライブラリを公開しました

    XMLを生成するためのライブラリ「XML_Builder」をOpenpearにて公開しています。1月ごろにはもう公開していたのですが、ブログに書いていなかったので、簡単な紹介を書いてみたいと思います。(4/1ですがエイプリルフール関係ない記事です) github pagesに簡単なドキュメントも置いています。 php-XML_Builder document https://github.com/hirak/php-XML_Builder インストール PHP PEAR形式のライブラリです。OpenpearなのでPEARコマンドで簡単です。 % pear channel-discover openpear.org % pear install openpear/XML_Builder 肝心のXMLを出力するにはDOMやXMLWriterが必要ですが、arrayを生成するだけのモードもあるた

    PHPでXMLを生成するためのライブラリを公開しました
    mfham
    mfham 2016/05/29
  • composerを速くするプラグイン・prestissimoを作った

    composerが遅くてお嘆きの日PHPerの皆さんこんにちは。 表題の通り、追加インストールするだけでcomposerが速くなるプラグインを作りました。 # インストール $ composer global require hirak/prestissimo # アンインストール $ composer global remove hirak/prestissimo インストールした状態でlaravel/laravelcreate-projectすると、26秒とかでダウンロード完了しました。Laravelは50個ぐらい依存パッケージがあり、同じ環境で普通にインストールすると5分ぐらいは最低かかるので、10倍以上速くなってます。 2016/1/13(水)にPHPBLT#2というイベントがあり、その中で同じデモをしてきました。 Composer並列化プラグイン #phpblt from

    composerを速くするプラグイン・prestissimoを作った
  • PHPのinterfaceとは何か

    久しぶりの更新です。最近、修行だと思って色々なを読み漁っているのですが、やっとこさPHPのinterfaceが分かるようになってきた感じがあるので、まとめてみます。 インターフェースは、クラスから"ユーザー定義型"の能力のみを分離した言語機構です。PHPのそれはJavaのinterfaceのパクリです。 "ユーザー定義型"という単語を使いました。動的型付き言語のことを「型のない言語」と言う人がたまにいるんですが、とんでもねー間違いです。PHPにだって型はあります。変数が型を持たず、値が型を持っているというだけの話です。 interfaceを宣言する文法はクラスとよく似ていますが、キーワードclassの代わりにキーワードinterfaceを使います。中身は定義のないメソッドの宣言を書きます。なお、定数も含めることが可能です。 <?php interface FooInterface { c

    PHPのinterfaceとは何か
    mfham
    mfham 2013/10/15
  • 1