Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?

皆さんこんにちは 最近Laravel触っててEloquentめっちゃ使いやすいやん!とか、composerも名前空間もないけど、Active Recordの仕組みが良くできているYii Framework1.1 をベースにしておきながら、Active Recordをガン無視する暴挙に出た生ゴミに出会ったりとかしました。 そんな感じで、新旧のいいものとそれを使いこなせずに醜悪なゴミにしている事例を間近に見ているので、イライラを原動力にORMって何がいいんだっけってところを見直してみようかと思います。 オブジェクト関係マッピング (ORM: Object-relational mapping) 原語も訳語も違和感しかないのですが、ここで言う「関係」とは、別にモノ同士のつながりとかではなく、単純に「リレーショナルデータベース」のことを指しているようです。 Wikipediaにある説明は案の定よく
mysql> select version(); +------------+ | version() | +------------+ | 5.6.35-log | +------------+ 1 row in set (0.02 sec) mysql> select * from address where city_cd = 0; +-----+---------+---------+--------------+-------+ | id | pref_cd | city_cd | name | roman | +-----+---------+---------+--------------+-------+ | 745 | 14 | 0 | 神奈川県 | NULL | +-----+---------+---------+--------------+-------+ 1 r
これは結構大きいPHPのプロジェクトに composer を導入する機会があったので、そのときに考えてたことや行ったこと、使い方などをメモするために書いた。 モチベーション 私達は PHP のパッケージの管理を管理する際は pear と git submodule を利用していた。これらのやり方は意外と長続きした。これらにはついて様々な問題を抱えており、ついに限界がきてしまった。 pear pear でパッケージを導入するには root 権限が必要なので、毎回インフラチームに導入を依頼するのが必要があった。 pear で導入されたパッケージについてバージョンを上げようとすると、全APサーバーで更新をかける必要があった。 これらの点から面倒だったのと、気軽に変更できないので、不要になったものも削除されることなく、放置されるのが問題だった git submodule こちらは pear とは異
数年前であれば仕方なかったところですが、2018年の今となっては、パスワードハッシュの手動計算はもはや"悪"です。 まずログイン認証と称してmd5とかsha1とか書いてあるソースはゴミなので投げ捨てましょう。 hashやcryptは上記に比べればずっとマシですが、使い方によっては簡単に脆弱になりえます。 あと『パスワードを暗号化する』って表現してるところも見なくていいです。 PHPには、ハッシュに関わる諸々の落とし穴を一発で解消してくれるpassword_hashという超絶便利関数があるので、これを使います。 というか、これ以外を使ってはいけません。 以下はフレームワークを使わずに実装する際の例示です。 フレームワークを使っている場合は当然その流儀に従っておきましょう。 ハッシュの実装 データベース ユーザ情報を保存するテーブルを作成します。 パスワードカラムの文字数は、システム上のパスワ
環境:CentOS7 + apache2.4(prefork) + PHP5.4 現象 PHPの処理が終了してもメモリの使用量が回復しない画面(処理)がある。 MaxRequestsPerChildに達するとapacheのプロセスが終了してメモリ使用量も回復するが、特定の画面だけでその現象が発生しているため、時にはMaxRequestsPerChildに達する前にサーバーのメモリを使い切ることがある。 というか、複数プロセスあるんだから、普通はそうだよね。 ぶっちゃけメモリリークなんだろうけど、発生個所が曖昧なのと、特定環境でのみしか発生しないため、調査が難航。 理想 PHP処理が終了したら、PHPが使ったメモリを解放する。 現実 unsetや循環参照の怪しそうなところを潰してみたけれど、環境によって発生コードが異なっていて、そもそもの根本原因がわからない状態なので、どこまで対応すれば完了
やりたいこと PHPスクリプトからTwitterに任意の文字列を投稿したい。 今後のために、できるだけ汎用性を持たせたい。 スクリプトやライブラリをポン置きで使えるようにしたい。 動作確認環境、使用ライブラリ等 Twitter App https://apps.twitter.com/ Fedora 24 Server Edition 64bit PHP 5.6.22 Twitter OAuth https://twitteroauth.com/ サンプルコード <?php require "twitteroauth/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; $consumerKey = "your consumer key"; $consumerSecret = "your consumer secret"; $acces
//特に指定しないと結果はarrayobjectになる $tableGateway = new \Zend\Db\TableGateway\TableGateway('テーブル名', $adapter); //配列にしたい場合はこんな感じ $resultSet = new \Zend\Db\ResultSet\ResultSet(ResultSet::TYPE_ARRAY); $tableGateway = new \Zend\Db\TableGateway\TableGateway('テーブル名', $adapter, null, $resultSet); $select->where->equalTo('col', '値'); //SELECT "user".* FROM "user" WHERE "col" = '値' $select->where->notEqualTo('col'
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く