質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

Q&A

1回答

1342閲覧

Angular初心者

atemu

総合スコア94

CakePHP

CakePHPは、PHPで書かれたWebアプリケーション開発用のフレームワークです。 Ruby on Railsの考え方を多く取り入れており、Railsの高速性とPHPの機動性を兼ね備えています。 MVCやORMなどを「規約優先の考え方」で利用するため、コードを書く手間を省くことができます。 外部のライブラリに依存しないので、単体での利用が可能です。

AngularJS

AngularJSはオープンソースのJavaScriptフレームワークです。ブラウザ上で動作するウェブアプリケーションの開発にMVCアーキテクチャを取り入れることを目的としています。

0グッド

0クリップ

投稿2017/02/02 02:11

今までCakePHP2を使用していました。
JavaScriptのフレームワークも触ってみたいということで、Angular1系に入門しています。

しかし、当然ながらCakeとAngularでは思想が異なっておりいまいちなじめません…。
例えば、CakeでいうActionはAngularでいうとどの部分に当たるのでしょうか…。
Controllerの概念も若干異なっているのかなあと思ってます。

CakeでActionを作る感覚でAngularのControllerを作っていく感じでしょうか?

PHPのフレームワークからJavaScriptのSPAフレームワークを学習したよって方がいたら特にアドバイスお願いします!!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

Cakeは命名規則もルールも非常に厳しくしている代わりに、作られているControllerやViewを元に自動的にルーティングをしてくれています。
それとは異なり、Angular(特に1.x系)は非常に自由度が高いフレームワークです。それゆえに、同じ挙動をどこに書いても動かせることができるし、どこかに書いたからといって自動的に機能に反映されることはありません。

Cakeで言うControllerやactionの挙動をAngularを実装するには、ngRouteをあらかじめ定義してあげる必要があります。(Angular1.x系ではさらにカスタマイズ性の高いuiRouteがオススメです)
書き方は人それぞれですが、僕もCakeのような自動ルーティングが好きなのでプロジェクトによっては実装してます。(命名規則に準じてURLからパラメーターを切り出して自動的にControllerとPageを見に行く)

投稿2017/02/02 07:38

Everatch

総合スコア241

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Everatch

2017/02/02 07:44

補足ですが、AngularなどJSのフレームワークの多くはUIに特化したフレームワークなので、ガチガチなデータ構造や明確なデザインパターンが定義されていないのです。 そのために、しっかりデザインパターンやAngularのAPI群を理解した上で、ちゃんと自分の書き方を決めて書かないと、ついついカウボーイコーディングしてしまいます。まあ、もっともこれはJSという言語自体もそう言えますね... 総じて、JSを綺麗に書くのが難しいです。(ただの感想になっちゃってゴメンなさい
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問