
回答していて思ったのですが、やはり、そろそろ覚えなきゃダメでしょうか?
namespaceにしろ、yieldにしろ、traitにしろ、どれも必ずしも必要ないといういうか、無いと困るケースのほうが少ないかと思っています。というか、普通のシステムでは必要な時の方が極稀かなと。
だからPHP5.4以降にやっと追加されてるのだと思います。
でも、いい加減わかってないと「PHP使えます」とは恥ずかしくて言えない雰囲気が…。というか、質問者の断片的な情報から問題解決するのは難しい時があると感じました。
今からPHPやりますって人は、そういう、あんまり重要でない技術が使われたコードを意味もわからず勉強しなきゃいけないからかわいそうだなと思います。
autoloadとかも便利だけど、それはわかってる人が使うと便利だという話で、わかってない人だと、パスが通っているディレクトリに該当ファイルが無いとか、ファイル名とクラス名の規約から外れてるせいで読み込まれず「どうしてコードがあるのにエラーが出るの!?」となることも多いかと。
requireから始めて「おまえ、2回呼んだぞ!」って怒られてrequire_once(ちょっと遅いけど)を覚えたけど、もういちいちrequire_onceするのいやだー
という段階を踏んだほうがいいのではないかと思います。
composerも嫌いで、WEBでzipをダウンロードしてきて解凍してサーバに置いてパス通したら動いちゃう、というお手軽さがPHPの良さだったのに、まず、composerをインストールしなきゃいけないという風潮はあんまり優しくないと感じています。Windowsはcomposerそのもののインストールがやたらめんどくさいです。Windowsはcomposerに限らず多くの開発ツールのインストールがやたらめんどくさいし、仕様が変わって古い情報がつかえなかったりしてハマったりするし。一回インストールすれば後は良いかとおもいきや、職場が変わったらまた同じ苦労が再現されます。
前まではTwigはzipで提供されていたのに、最近はcomposerでインストールしないとならない、みたいになってしまってつらいです。PHPUnitのSkeletonGeneratorもPEARではチャンネルが見つからないため入らず、composer経由でないとインストールできなくなっていますね。
本当に、めんどくさい環境になってしまったなと感じます。
複数のライブラリを使おうとしたら、えらく奇跡的に自前のクラスとクラス名がバッティングしていて意味不明のエラーが出た、いいかげんこんなことでリファクタリングするのめんどくさい…
要求が複雑すぎて、単一継承じゃ賄いきれん…
莫大なループしたらメモリたらんて… どうしよう…
みたなケースって、10年以上開発してますけど、1回もありませんでした。
クラス名はよくありそうな名前を避けてればまずバッティングすることはないからnamespaceの有り難みはほとんど感じられません。
yieldの解説を見ると円周率が~とかフィボナッチ数列が~とか、普通の人はまず実務ではありえないのではないでしょうか。
traitは、昔ゲームを作ってたことがあるので、ちょっと便利かなとは思いますが、やっぱりそれ以外の実務で必要なケースは殆ど無いかなと。(業務システムとかで、そんな複雑な要求っていう時点でなんか間違ってるというか、かなり危険です)
PHPもかなり熟成されてきたのでありがたいですが、この辺りの機能って、みなさん積極的に使ってらっしゃいますか?
質問しないといつまでたっても質問者系のバッジが増えていかないので、日曜ということもあり、駄文を投稿してみました。よろしくお願いします。

回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2016/01/17 04:21
2016/01/17 05:20
退会済みユーザー
2016/01/17 05:26
2016/01/17 05:33
退会済みユーザー
2016/01/17 05:41
退会済みユーザー
2016/01/17 05:55
退会済みユーザー
2016/01/17 06:13