タグ

PHPに関するdeeekiのブックマーク (354)

  • PDOの真の力を開放する - PHPでデータベースを扱う(3)

    ちょっと遅れましたが、シリーズの第3回です。前回までに論じた内容をふまえて、簡単な実装を示します。↓前回までの内容はこちら。 DAOの悪夢 - PHPでデータベースを扱う(1) - 泥のように ドメイン駆動設計という救世主 - PHPでデータベースを扱う(2) - 泥のように 題材 「記事にタグを設定できるブログ」みたいなシステムを考えてみます。ブログ記事を示すEntryテーブル、タグを表すTagテーブルの二つを用意しました。MySQL WorkbenchによるER図(鳥足記法)は以下になります。 1つのEntryに対して複数のTagがある、1対多の関係です。同じTagが複数のEntryに関連するため、多対多の関係と見なすこともできそうですが、タグ程度だとあまり意味がないので、これ以上のテーブル分割はやめておきます。 Entryテーブルの主キーがentryIdと冗長な名前をしているのは、自

    PDOの真の力を開放する - PHPでデータベースを扱う(3)
  • すぐれた PHP ライブラリとリソース

    You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert

    すぐれた PHP ライブラリとリソース
    deeeki
    deeeki 2013/04/25
  • 新標準PSRに学ぶきれいなPHP

    16. 豪華なメンバー陣 Nate Abele: Lithium Robert Lemke: FLOW3 Nils Adermann: phpBB Larry Masters: CakePHP, CakePHP 2 Brett Bieber: PEAR, PEAR2 Ryan Parman: Amazon Web Services Guilherme Blanco: Doctrine, Doctrine2, SDK et al. Evert Pot: SabreDAV Jordi Boggiano: Composer, Packagist Fabien Potencier: Symfony, Symfony2 Karma Dordrak: Zikula Andre Romcke: eZ Publish Paul Dragoonis: PPI, PPI2 Paul Scott: Chisim

    新標準PSRに学ぶきれいなPHP
  • HomebrewでPHP環境 現時点でのまとめ - なんたらノート第三期ベータ

    MacでHomebrewを使ってPHPの開発環境を作るまとめです。 HomebrewはMacPortsより圧倒的にコンパクトなのがメリットです。MacPortsでPHPをインストールすると、/opt/localに、Apacheを含め、すごい量のパッケージをインストールされます。PHPのビルドにApacheのライブラリが必要で、さらに、Apacheのビルドには...という具合。これだと、容量あたりの単価がかかるSSD搭載のMac bookがかわいそうですね。HomebrewのPHPは、MacOSにApacheがあるのを知っているので、依存が浅くて軽いです。 MAMP.appがあるじゃないかという人はちょっと待った。あのパッケージ構造、httpd.confとphp.iniとmy.iniがどこにあるかすごくわかりにくいんですよね。そのうえ、使っている拡張の最新バージョン追従が個別にできないのは辛

    HomebrewでPHP環境 現時点でのまとめ - なんたらノート第三期ベータ
    deeeki
    deeeki 2012/10/03
  • PHP: The Right Way

    ようこそ 時代遅れの情報がウェブ上にあふれている。そんな情報を見たPHP初心者は戸惑ってしまうだろう。そして、まずい手法やまずいコードが広まってしまう。 そんなのはもうやめよう。PHP: The Right Way は気軽に読めるクイックリファレンスだ。PHPの一般的なコーディング規約、 ウェブ上のよくできたチュートリアルへのリンク、そして現時点でのベストプラクティスだと執筆者が考えていることをまとめた。 大事なのは、 PHPを使うための正式なお作法など存在しない ってこと。 このサイトの狙いは、はじめて PHP を使うことになった開発者に、いろんなトピックを紹介すること。 経験豊富なプロの人にとっても、これまで深く考えることなく使ってきた内容について、新鮮な見方を伝えられるだろう。 このサイトは、決して「どのツールを使えばいいのか」を教えるものじゃない。 いくつかの選択肢を示して、それぞ

  • www.phptherightway.com

    Welcome There’s a lot of outdated information on the Web that leads new PHP users astray, propagating bad practices and insecure code. PHP: The Right Way is an easy-to-read, quick reference for PHP popular coding standards, links to authoritative tutorials around the Web, and what the contributors consider to be best practices at present. There is no canonical way to use PHP. This website aims to

    deeeki
    deeeki 2012/07/09
  • ウェブサービスをゼロから作って成功したこと、失敗したこと - id:k-z-h

    php, 雑記いつもなら寝ている時間なのだけれど、なぜか睡魔がやってこないので過去の思い出をまとめてみる。去年の2月ごろ、新規案件のウェブサービスに開発メンバーとしてアサインされた。作るべきものが大量にあったため、4チーム(工期中多少増減したが)に分けてドメインごとに作業分担をした。そのうち、ウェブアプリケーション体(フロント、API、マネージツール)を担当するチームのサブリーダーが自分の役割だった。そのプロジェクトは去年の末に一旦の区切りを迎え、自分はそこで退職し、新たな環境に身を置くことにした。それから丸4ヶ月経って、自分が書いたコードと新しい環境で書かれていたコードを見比べて、思うところが多々ある。それらを文章としてまとめたいと思う。 失敗したこと簡単な骨組みを作ったあと、デプロイの仕組みを作った。php には phar という仕組みがある。これは jar/war のようにウェブサ

    deeeki
    deeeki 2012/05/10
  • 徳丸本に載っていないWebアプリケーションセキュリティ

    2. 日お話しする内容 • キャッシュからの情報漏洩に注意 • クリックジャッキング入門 • Ajaxセキュリティ入門 • ドリランド カード増殖祭りはこうしておこった…かも? Copyright © 2012 HASH Consulting Corp. 2 3. 徳丸浩の自己紹介 • 経歴 – 1985年 京セラ株式会社入社 – 1995年 京セラコミュニケーションシステム株式会社(KCCS)に出向・転籍 – 2008年 KCCS退職、HASHコンサルティング株式会社設立 • 経験したこと – 京セラ入社当時はCAD、計算幾何学、数値シミュレーションなどを担当 – その後、企業向けパッケージソフトの企画・開発・事業化を担当 – 1999年から、携帯電話向けインフラ、プラットフォームの企画・開発を担当 Webアプリケーションのセキュリティ問題に直面、研究、社内展開、寄稿など を開始 –

    徳丸本に載っていないWebアプリケーションセキュリティ
    deeeki
    deeeki 2012/04/25
  • ノーフレームワークレガシーPHPから始めるユニットテスト

    巨大なアクセスを抱える大規模サイトは経験ないので分かりません。 あと、当にレガシーな PHP しか考えてません。とにかくイマドキのフレームワークを使ってください。こんなこと気にする必要ないんでしょ? 設定できるだけphp.iniに依存しないまず、PHP のコードで設定できるものは PHP のコードで設定した方がよいそうすれば複数サイトの開発のための切り替えも比較的スムーズに行えるextension など php.ini にしか書けないものは php.ini に書けばよいこれを踏まえたうえで、自分の場合はプロジェクトごとに .htaccess および php.ini を同時に生成する setup 用のスクリプトを用意している。.htaccess に書く rewrite の設定などもここで展開するようにしている。で、このスクリプトをリポジトリに入れてある。 必要に応じて RewriteBas

    deeeki
    deeeki 2012/04/19
    "このソーシャルコーディングの時代に自社で閉じたライブラリを整備することは十分な切り分けを考えた上でやらないといけないと思う"
  • 開発中のiPhoneアプリを自前サーバで配布する方法 - ku-sukeのブログ

    OTA配布が手軽にできるオープンソースのPHPスクリプト書きました。TestFlightが様々なポリシーで使えない方向けに書きました。 ku-suke/SimplePHPAdhocServer · GitHub これはなに? USBケーブルを繋がずに、開発中のアプリを実機に配布できるPHPスクリプトです。自前のサーバに設置してご利用ください。developmentプロファイルでもdistributionプロファイルでもenterpriseプロファイルでも使えます。enterprise以外はあくまでUDID登録済みの実機だけです。 動作確認というか必要条件 PHP 5.2以降 MySQL 5.0以降 USBで実機にアプリをインストールすることが出来る環境(Xcode/Provisioning profile etc) ライセンス 個人で書いたのでMITで自由に使えるよ!同梱ライブラリのライセ

    開発中のiPhoneアプリを自前サーバで配布する方法 - ku-sukeのブログ
  • 大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~

    11月25日、「mobidec 2011」においてコナミデジタルエンタテインメントのスタジオITセンター長である正延光弘氏によるセッション「大ヒットSNSゲーム『ドラゴンコレクション』を支えるコナミのクラウド技術の活用」が行われました。 ドラゴンコレクションは、GREEで提供されている携帯電話向けのカードゲームタイプのRPG。プレイヤーは、エリアごとにある複数のクエストをクリアしていき、モンスターカードや「秘宝」を手に入れ、さらに「ドラゴンカード」を集めていきます。また、ほかのプレイヤーとバトルすることでも秘宝を入手できるというSNS要素も取り入れられていました。2010年9月のサービス開始後、順調にプレイヤー数を伸ばし、現在では登録人数が500万人を超えています。 サービス開始当初は社内でサーバを構築し、フロントエンドに6台のサーバ、バックエンドに3台のデータベースサーバ、そしてロードバ

    大規模ソーシャルゲーム「ドラゴンコレクション」運営の最前線で得られたノウハウ ~チューニングと運用、18のポイント~
  • Googleから為替レートをJSONで取得する方法 - モノノフ日記

    仕事で為替レートを扱う必要があったのでちょっと調べてみました。 海外にあるAPIは有料だったり、Yahooファイナンスからゴニョゴニョするのもコード見たらめんどくさそうだ・・・とか思ってたらGoogle先生にステキなAPIを見つけました。 http://www.google.com/ig/calculator?hl=ja&q=変換前の通貨=?変換後の通貨 // 1アメリカドル を日円に http://www.google.com/ig/calculator?hl=ja&q=1USD=?JPYPHPで書くとこんな感じで使えます。APIレスポンスのままだとjson_decode()が文字列のパースに失敗してたのでkey値を「"」で囲ってます(ダサイ・・)。 <?php $data = file_get_contents('http://www.google.com/ig/calculator

    Googleから為替レートをJSONで取得する方法 - モノノフ日記
  • PHP 5.4から配列定義は超簡単に、そして落とし穴も – yohgaki's blog

    (Last Updated On: 2018年8月13日)PHP 5.4 Advent Calender 2011用のエントリです。(まだ空きがあるので是非どうぞ) このエントリを書いているのは11/23です。初めの方から重いネタだと後の方が苦労する(?)ので軽い話です。 PHP 5.3までの動作 現時点ではPHP Manualの配列のページには記載されていませんが、配列の定義が簡略化されます。まず現状の配列の定義方法は <?php $a = array('foo'=>123, 'bar'=>456, 789); var_dump($a); こんな感じですね。これを実行すると $ ../php-src-5.4/php arr.php array(3) { ["foo"]=> int(123) ["bar"]=> int(456) [0]=> int(789) } このような出力になります。

    PHP 5.4から配列定義は超簡単に、そして落とし穴も – yohgaki's blog
    deeeki
    deeeki 2011/12/04
  • PHP フレームワークの「FuelPHP」がスゴすぎる - A Day in Serenity @ kenjis

    新しいことを勉強して、久々に心底感動しました。 Twitter である方が Fuel についてつぶやきをしているのを拝見し、この時初めてその存在を知りました。。 PHP の新しいフレームワークで、複数のフレームワークのいいところを集めたものということだったので、ちょっと触ってみるかとダウンロードしてドキュメントを読みながら Hello World! を作ってみる。すると・・・ こ・・これはすごい・・ なにがすごいって、これまで私は「CodeIgniter」を超愛用していました。CodeIgniter は、もちろんそのほとんどがすごくいいのですが、若干だけ不満があったのです。しかし、FuelPHP では CodeIgniter の好きなところはそのままに、不満が全部吹っ飛んでいたのです。 では、その全貌をご覧入れましょう。 [広告] FuelPHP 入門書の決定版が発売されました。詳しくは、

    PHP フレームワークの「FuelPHP」がスゴすぎる - A Day in Serenity @ kenjis
  • PHPソースコードリーディング入門(とっかかり編) - id:anatooのブログ

    PHPのソースコードを読むためのとっかかりの話。 ソースコード取ってくる gitから取得できる。 $ git clone https://github.com/php/php-src.git とりあえずビルドしてみる ビルドに必要なツールをインストールした後、buildconfスクリプトを叩いてconfigureスクリプトを生成したのち、通常通りconfigureを叩いてmakeする。例えば、余計な拡張を一切ビルドせずデバッガで動かせるようにビルドしたい場合は以下のようになる。 $ cd php-src $ ./buildconf $ ./configure --disable-all --enable-debug $ makeコマンドラインから叩けるバイナリは、"sapi/cli/php"にある。 $ sapi/cli/php -r "echo 'hello world';" hello

    PHPソースコードリーディング入門(とっかかり編) - id:anatooのブログ
    deeeki
    deeeki 2011/10/31
  • PHP Matsuri 2011 セッション・ワークショップレポート | gihyo.jp

    10月15、16日の2日間にわたり、大阪市港区のホテルコスモスクエア国際交流センターにおいて、PHP Matsuri 2011 in Osakaが開催されました。2回に渡り、イベントをレポートしていきます。まずは1日目に行われたセッション・ワークショップを中心に、イベントの模様をレポートします。 PHP Matsuri 2011 PHP Matsuriは、年に一度1泊2日で行われるPHPエンジニアの祭典です。昨年は東京で開催され、約70名のエンジニアが参加し熱い2日間を過ごしました。 第2回開催である今年は、PHPを中心にWEB系エンジニア約90名が参加し、24時間オープンしているイベント会場でゲストによるセッション、ワークショップなどが行われました。メインのイベントとなるハッカソンは夜通し行われ、2日目に開催されたLT大会では、41名もの方がハッカソンにおける成果を発表するなど、非常に

    PHP Matsuri 2011 セッション・ワークショップレポート | gihyo.jp
  • phpenv で複数の PHP 環境を管理する | Born Too Late

    phpenv とは CHH/phpenv - GitHub 複数のバージョンの PHP を管理し, コマンドで簡単に切り替えるためのものです. Ruby でいう rbenv や RVM, Perl でいうところの perlbrew にあたるものです. なお, phpenv の中身は rbenv を流用することで動いています. インストール まず, 以下のコマンドでインストールスクリプトを実行します. $ curl https://raw.github.com/CHH/phpenv/master/install.sh | sh 中では rbenv を git clone していたりするので, Git をインストールしている必要があります. 上記コマンドが成功したら, ~/.bashrc もしくは zsh 使いなら ~/.zshrc に以下のコマンドを追記します. あとはいま編集したファイルを

    phpenv で複数の PHP 環境を管理する | Born Too Late
    deeeki
    deeeki 2011/10/24
  • PHP Matsuri 2011

    PHP Matsuri 2011 "PHP Matsuri" is a Hackathon style event which is evolved from "CakePHP Conference*" and "CakePHP Matsuri*". We'll have hot technical sessions and 24hours hack time in same venue. Please join us, meet hackers and show your hack on 2nd… + More PHP Matsuri 2011 "PHP Matsuri" is a Hackathon style event which is evolved from "CakePHP Conference*" and "CakePHP Matsuri*". We'll have hot

  • 素のPHPをテンプレートエンジンとして使うときのコーディング規約

    プログラムとしてPHPを書くときのコーディング規約は、PEARやZendなど代表的なものがたくさんありますが、テンプレートエンジンとしてPHPを使う場合にはそのまま適用しにくいものです。 テンプレートエンジンのコーディング規約って、検索してもあまり見つからなかったので、個人的に採用しているものを晒してみます。あんまり語る人を見たことがないので、「俺はこうしてるよ」とか「ここキモくね?」とかご意見いただけるとうれしいです。 目指すところ 複雑なロジックをテンプレートに書かない / 書けないように規約で縛る 少しでも読みやすさを追求する できあがりのHTMLの美しさも追及する <%= $this->doctype() %> <html> <head> <%= $this->headMeta() %> <%= $this->headLink() %> <%= $this->headTitle()

    素のPHPをテンプレートエンジンとして使うときのコーディング規約
  • PHPMatsuri 2010 からの1年を振り返って - なんたらノート第三期ベータ

    もう間もなく開催される PHPMatsuri 2011 にむけて、 @koyhoge さんの 秋にはプログラム言語イベントの大トリに行くのだ - Blog::koyhoge からのバトンを受けました。 PHPMatsuri リレーブログ 、今日は僕の担当です。 祭り自体についてはみんな書いてくれるだろうから、僕は PHPMatsuri 2010 に参加してからこの1年間で、自分に起こったいろいろなことを書き、PHPっていいねにつなげようと思います。 この1年ぐらいのまとめ PHPMatsuri 2010 の少し前、@slywalker さんが大阪で開催してくださった CakePHP の初心者勉強会に参加しました。そこでも多くの人との出会いがあったのですがちょっと今回は省略して、その帰りで一緒になった @tbsmcd さんをたまたまフォローし、たまたま話が合って2人だけオフをしたとき、拙作の

    deeeki
    deeeki 2011/10/01
    《つまり、「PHPの波に乗るチャンス」であると同時に「PHPを変えるのに自分がアクションできるチャンス」でもあるんだ、と》