タグ

ブックマーク / qiita.com/tadsan (9)

  • このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita

    この記事ではPackagistで公開可能な形式のPHPのライブラリ(Composerパッケージ)を公開するための道具立てを紹介します。あと、現代のPHPerはツールを組み合せてさくっと開発しているんだという自慢です。 タイトルは「この TypeScript が Hello, world! のくせに慎重すぎる」と「この勇者が俺TUEEEくせに慎重すぎる」のぱくr… パロディです。 テンプレートエンジンのくせに型安全なんてなまいきな。 この記事の読みかた せっかくなので手を動かしながら自分でComposerパッケージを作成してみましょう。 今回の題材は「Hello worldを出力する」という革新的機能を提供する、とても画期的な実用ライブラリです。 記事名通り「慎重すぎる」ので、細かく刻んでGitで経過を保存しながら作業を進めていましょう。なんかよくわからない状態になったらgit reset

    このPHPがテンプレートエンジンのくせに慎重すぎる (前篇) - Qiita
    uneasy
    uneasy 2020/01/29
  • 2018年のPHPDoc事情とPSR-5 - Qiita

    PHPDocとは、クラスや関数などのブロックに記述できるDocComment内に記述する書式の通称です。この書式の情報源として時折PSR-5が参照されることがあるので簡単に状況をまとめます。 TL;DR PSR-5の標準化ステータスは昨年10月にABANDONED (放棄・議論停滞)になりました 2018年9月26日にPSR-5とPSR-19が分割され、ともにDRAFT状態に入りました PHPDocを型注釈として利用する各処理系の実装にはばらつきがあり、PSR-5とは相違点があります PhpStormは現在のところ(2018.1 EAP)PSR-5と互換性がありません 特にチーム開発では、対応する型記述の書式について注意が必要です PhpStormに配慮して書く場合、phpDocumentorの仕様を参照する方が安全です PHPDoc リファレンス — phpDocumentor この記事

    2018年のPHPDoc事情とPSR-5 - Qiita
    uneasy
    uneasy 2018/03/13
  • PHP: Clean Code (clean-code-php) 蜜柑薬 - Qiita

    もくじ はじめに 変数 関数 オブジェクトとデータ構造 クラス S: 単一責任の原則 (SRP) O: オープン/クローズドの原則 (OCP) L: リスコフの置換原則 (LSP) I: インターフェイス分離の原則 (ISP) D: 依存逆転の法則 (DIP) 同じことを繰り返すな (DRY) はじめに この記事はRobert C. Martinの「Clean Code」のソフトウェアエンジニアリングの法則をPHPに適合させたものです。これはスタイルガイドではありません。読みやすく、再利用しやすく、そしてリファクタリングしやすいPHPコードを書くためのガイドです。 ここで挙げられるすべての原則は厳密に守らなくてはいけないわけではなく、少し守らなかったところで一般には許容されます。あくまでガイドラインですが、Clean Codeの著者たちがみな長年に渡って経験してきたことです。 この記事(

    PHP: Clean Code (clean-code-php) 蜜柑薬 - Qiita
    uneasy
    uneasy 2017/09/03
  • 君は誰とEmacsる? (補完インターフェイス紹介篇) - Qiita

    この場合の枯れたは比較的ポジティブな意味です。筆者はHelmが慣れてるのでこれを使ってますが、Anythingを使ってるひともまだまだたくさん居ますし、これから導入するならIvy/Counselも良い選択肢です。 IDO (ido-mode) IDO(Interactive DoまたはInteractively Do Things)は最少のキーボード打鍵で補完入力できるように設計された補完入力インターフェイスです。Emacsに同梱されてるので、最少の設定で利用する場合はパッケージ導入が不要です。 バッファ切替とファイル名補完が主機能ですが、ido-everywhereを有効化すると、それ以外の箇所でもIDOインターフェイスが利用できます。 idoの設定 .emacsファイル(~/.emacs.d/init.el)に以下のように記述します。デフォルトでは前方一致で利用するので、(setq i

    君は誰とEmacsる? (補完インターフェイス紹介篇) - Qiita
    uneasy
    uneasy 2016/10/10
  • 初心者を戒めるPHP - Qiita

    この記事は何か 挑発的な文言になってる箇所はあるものの、内容としてはそれなりにまじめに書いたつもり。むしゃむしゃしてやった。いまでは反芻してゐる。 PHPDocは必ず書け あらゆる再利用可能な手続きは、他人が容易に応用できるように型が明示的でなければいけない。メンバー全員が実装コード全てを把握できるものならそれが理想だけれど、残念ながら時間は有限だ。ヘッダだけを読んでメソッドの仕様が理解でき、またはコードを読む助けになるようなコメントが良い。 有名な事実を紹介すると、多くのコードは数か月(早ければ数日!)も経てば、他人が書いたコードに感じられるほど理解できなくなることがしばしばある。もちろん設計の練度にもよらうが、設計判断について注意を要した点などをコメントに残しておくことで、ひいては未来の自分の役に立てることができる。 お前の先輩は「PHPには型がない」などと知ったかぶって意味不明1なこ

    初心者を戒めるPHP - Qiita
    uneasy
    uneasy 2016/06/16
  • PHP 5.6と7の新機能を使った画期的バリデータの実装 - Qiita

    以前、private/protectedなプロパティを外部から読み込み可能にするを書いたとき、記事のコメントにて「コレクション(配列)内の要素の型を検証したいよー」「でもそうすると全要素を検証しなくちゃいけないから実行時のパフォーマンスの問題があるよね」って話をしました。 気付いてしまった PHP: 関数の引数 - Manualを読んでた私は気付いてしまったのです。PHP 5.6で実装された機能を巧みに利用すればバリデータが実装可能なことに。 ……そうです。可変長引数です。 PHPの可変長引数とは PHP 5.6で追加された可変長引数は、以前の文法に...を追加することで0個以上の値をまとめて受け取れるようにしたものです。 f("a") // => // string(1) "a" // array(0) { // } f("a", "b") // => // string(1) "a"

    PHP 5.6と7の新機能を使った画期的バリデータの実装 - Qiita
    uneasy
    uneasy 2016/02/29
  • PHPでファイルを開いて読み込む - Qiita

    PHP初心者のときに混乱したし、未だに初心者が困ってるのをよく見掛ける。 はやわかり ファイル全体をまるごと読み込みたい→ file_get_contents() ファイルの中身をまるごと出力したい→ readfile() 行単位のテキストファイルを配列として読み込みたい→ file() ファイルをバイト単位で読み込みたい→ fopen()+fread() CSVを読み込みたい→ SplFileObjectクラス オブジェクト指向的に操作したい→ SplFileObjectクラス クラウドとかFTPとかにあるファイルを読み込みたい→ League\Flysystemライブラリ バイナリファイルを操作したいとか事情がない限り、feof()とかfclose()とかの出番はない。 file_get_contents() (PHP: file_get_contents - Manualより抜萃、2

    PHPでファイルを開いて読み込む - Qiita
    uneasy
    uneasy 2016/01/10
  • Emacsで世界を滅ぼす - Qiita

    Emacsを起動する M-x hanoi-unix-64を実行する 世界が終焉への道を歩み始めるので、おとなしく塔の完成を待つ 塔が完成し、世界が崩潰して滅ぶ 以上です。 具体的な現象についてはハノイの塔 - Wikipediaをお読みください。 Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up

    Emacsで世界を滅ぼす - Qiita
    uneasy
    uneasy 2015/02/13
  • PHPのモダンな開発環境を紹介する - Qiita

    やあPHP! 最近なんだかまともだなぁ PHP開発の上で実用的なツール群について、RubyPythonほどには知名度がないので紹介したい。Windowsのことは知らないので、各自がんばってほしい。 筆者はもともとRubyの方から来たので、Rubyとの比較が多いのは留意されたい。 この記事の内容と直接関連はしないが、併せて読まれたい PHPのin_arrayは罠が多いので注意喚起が必要 - Qiita 準備 MacだとHomebrewがあると依存ライブラリを集めるのが楽でべんり。 これは個人の趣味の話なのだけれど、自分でインストールする実行ファイルは$HOME/local/binに置くのが好きだ。 筆者はZ Shellユーザーなので https://github.com/zonuexe/dotfiles/blob/master/.zshenv#L1-L13 のようにしてる。 PHPBrew

    PHPのモダンな開発環境を紹介する - Qiita
    uneasy
    uneasy 2015/02/09
  • 1