回答編集履歴
1
クライアントサイドレンダリングのフレームワークのおすすめを追加
    
        answer	
    CHANGED
    
    | @@ -20,4 +20,9 @@ | |
| 20 20 | 
             
            ```
         | 
| 21 21 |  | 
| 22 22 | 
             
            リンク先とラベルの対のリストを items に保持してます。$dir2 とリンク先が一致したときのみ class 属性に active を追加するようになってます。
         | 
| 23 | 
            -
            実装例ですので、コードの抽象化とかはまったく考えておりません。関数にして js に定義し、items をパラメータにして、そこはサーバサイドで生成するとかのほうが良いでしょう。
         | 
| 23 | 
            +
            実装例ですので、コードの抽象化とかはまったく考えておりません。関数にして js に定義し、items をパラメータにして、そこはサーバサイドで生成するとかのほうが良いでしょう。
         | 
| 24 | 
            +
             | 
| 25 | 
            +
            > phpでのプログラミングは初めてですので、引数での渡し方や、phpの関数の書き方など、いろいろまずい部分があったのだと思います。
         | 
| 26 | 
            +
             | 
| 27 | 
            +
            個人的には、今から新しいアプリケーションを開発されるのであれば、 ReactJS などのフルクライアントサイドレンダリングのフレームワークを利用することをおすすめします。
         | 
| 28 | 
            +
            参考:[Backbone.JSからAngular2まで、全9大JavaScriptフレームワークを書き比べた!](http://paiza.hatenablog.com/entry/2015/03/11/Backbone_JS%E3%81%8B%E3%82%89Angular2%E3%81%BE%E3%81%A7%E3%80%81%E5%85%A89%E5%A4%A7JavaScript%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%92%E6%9B%B8%E3%81%8D%E6%AF%94%E3%81%B9)
         | 
