• ベストアンサー

テンプレートエンジンとフレームワークどちらを先に学ぶべき?

具体的には、 テンプレートエンジン ⇒ Smarty フレームワーク ⇒ cakePHP を使えるようになりたいのですが、 どちらを先に学ぶべきでしょうか。 PHP自体、現在勉強中なのですが、 一通りわかってきたので、次のステップに移ろうと思い迷っております。 よろしくお願い致します。

  • PHP
  • 回答数2
  • ありがとう数3

質問者が選んだベストアンサー

  • ベストアンサー
  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.1

Smarty 1日もあれば扱えます 改めて勉強する というレベルのものでも無いでしょう 単純置換の方法、if、foreach が分かれば十分に用をなします Smartyはテンプレートエンジンのくせにできることが多すぎてビジネスロジックを埋め込むことができてしまうので、純粋なテンプレートエンジンとして扱うには、それ以外のSmarty用のコマンドや使い方を覚えても、本来のテンプレートエンジンとしての意味が薄らぎます cakePHP フレームワーク初心者が扱えるかどうかは定かではありませんが、比較的理解しやすいものかと思いますが、どんなフレームワークでもwebサーバーの構築apacheの細かな設定方法、DBの扱い方等の基本概念を理解しており一通り作業可能であることが前提にあります。 また、cakePHPはテンプレートエンジンを用いていません。 テンプレートとなりうるHTML内に <?php echo $data ?> などのようにして埋め込んでいくタイプです。 SmartyをcakePHPのテンプレートエンジンとして扱うことも可能ですが、覚えることが多くなるだけです。 いずれにせよ、classの概念、Object指向の概念を知らないと意味がわかりません 手続き型でしかプログラムを書けないのであれば、まずはクラスとオブジェクトについて学ぶ必要があります。

chiki999
質問者

お礼

回答ありがとうございます。 返事が遅くなり申し訳ございません。 Coldfusionは1年半業務で使用していたのですが、IISオンリー、SQLserverオンリーだったので、apacheやMySQLなどの知識も必要ですね。 クラスとオブジェクトについても、もっと調べてみようと思います。 ありがとうございました。

その他の回答 (1)

  • wp_
  • ベストアンサー率54% (132/242)
回答No.2

smartyを先に知っておく必要があります。 デザイナ側・テンプレート側両方扱えた方が良いでしょう。 時間に余裕があればsmartyの内部ソースもある程度知っておくと なお良いです。 >PHP自体、現在勉強中なのですが、 >一通りわかってきたので、次のステップに移ろうと思い迷っております。 PHP脱初心者→デザインパターンと言う順序は間違ってはいないですが オブジェクト指向とはなんぞ、と言うことを熟知しておく必要があります。 classを自在に扱えるレベルであれば問題ないですが、そうでない場合は ・隠匿 ・継承 ・多態性 について一度調べることをお勧めします。

chiki999
質問者

お礼

回答ありがとうございます。 返事が遅くなり申し訳ございません。 オブジェクト指向。確かに必要そうですね。 Coldfusionは業務で1年半くらい使用していたのですが、 オブジェクト指向はあまり詳しくないのです。 実はRubyも面白そうと思い、ちょっと勉強してRuby on Railsで簡単なWEBアプリケーションを作ってみたのですが、 やっぱりPHPが先かなと思いPHPを勉強中です。 ・隠匿 ・継承 ・多態性 について調べてみます。 ありがとうございました。

関連するQ&A

  • Pythonのテンプレートエンジン

    Pythonを勉強しようと思っています。 PHPのSmartyのような、Pythonにもテンプレートエンジンなどあるのでしょうか?

  • PHPフレームワーク環境でのSmartyの必要性

    PHP でシステムを開発する際ですが、恐らく何かしらのフレームワークを利用した場合は大半だと思います。そう言った時にテンプレートエンジンの Smarty を合わせて利用するかどうか意見が別れる時があります。 PHP でフレームワークが今ほど使われていなかった大昔は、素の PHP 実装 + Smarty で、ロジックとテンプレートを分離する流れがありました。 しかし、現在利用されるほとんどのフレームワークでは当たり前のように MVC の思想で構成されており、ロジックとテンプレートは初めから分離されています。 そう言った状況の中、Smarty を各フレームワークと連携してテンプレートエンジンとして利用する必要がどれほどあるのか、判断に苦しみます。 皆さんはどう考えるでしょうか?

    • 締切済み
    • PHP
  • PHPのフレームワーク選定

    PHPで何かしらのフレームワークを使おうと思っていますが、経験がないので各フレームワークの特徴が分からず、何を選んでいいか分かりません。 とりあえずテンプレートエンジンの機能だけでもよかったので、シンプルで使いやすそうなSmartyを使ってみました。Smartyは簡単な設定のみで利用できたものの、すべてのソース(テンプレート以外のプログラムファイル)に # $smarty->template_dir = '…'; # $smarty->config_dir = '…'; などと、テンプレートファイルや設定ファイルのディレクトリを書かねばならず、環境依存の記述をプログラムファイルに書きまくる事を前提としていて、これはありえないなと思いもう少しきちんとしたつくりのフレームワークを使おうと思いました。 ※最悪の場合、<?php include './common.php'; ?>などと書こうかと思ったのですが、それでもプログラムファイルに環境依存の値を書くことには変わらないので、そうしなくともよいものを利用したいと思っています。 条件としては ・テンプレートが利用できる【必須】  (サイトの共通デザイン部分と変化する部分の分離をしたい) ・Windows環境で開発しレンタルサーバにアップする関係もあり  環境依存の記述は最小限にしたい。少なくともプログラムファイルに  書かずに済むようにしたい。【必須とは言わないが強い希望】 ・設定が簡単なほどいい ・多くのレンタルサーバで使えるものがいい ・「http://…/home.php」などとPHPのファイル名丸出しのURLではなく、  「http://…/home」とできるなど、ファイル名とURLを分離できるとうれしい ・DBは「今のところ」使わないが将来的には使うかも という感じです。 上記条件に合致するお勧めのPHPフレームワークを教えてください。 よろしくお願いします。

    • ベストアンサー
    • PHP
  • PHP フレームワークでどんなことができますか?

    ポータルサイトみたいなものを作ろうかと思ってます。 ただ、それをつくるがてらにフレームワークも勉強しようと思い、 フレームワークのひとつ、CakePHP というものを知ったのですが、 フレームワークとは具体的にどんなことができるのでしょうか? フレームワークがなんなのかを調べると ”頻繁に使う処理がまとめてある” とありますが、それで一体どんなことが簡略化できたり便利なるのかがわかりません。 例えば、フレームワークを土台に作ると インジェクション対策はフレームワークにまかせれるとか そんな感じでしょうか?

    • ベストアンサー
    • PHP
  • 2008年現在でおススメのテンプレートはありますか?

    漠然とした質問ですみません。 以前からPHPのテンプレートエンジンに興味があり、利用を検討しているのですがいずれも使い方が違うのでどれを使えばいいか悩んでいます。 ネットや教えてgooの過去質問で調べてみても、情報が古いものが多く「もしかして今ならsmartyよりもいいものがあるのかも?」とか考えて踏ん切りがつかずにいます。 そこで、皆様の独断でけっこうですので2008年現在でおススメのPHPテンプレートエンジンを教えて下さい。 お手間でなければその理由も教えてください。 「テンプレートエンジンなんて使わないよ」というご意見も歓迎です。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPフレームワークについて

    PHPフレームワークで教えてください。 最近、「フレームワーク」という言葉を知りました。 今後「フレームワーク」を使ってWEBアプリを作ったほうが楽なのかなと思っています。 そこで質問なのですが、Mojavi、Maple、Ethna、Zend、CakePHPなど色々あるみたいですが どれがいいでしょうか? 条件としては、ホスティングサーバーで動かすのでインストールが比較的楽な物(php.iniやhttpd.confとかいじらなくても良い物)です。 使いたいのは、 ・フォームからの入力チェック ・データベース(MySQL) ・Smarty ・管理ページは管理者だけ(認証) 位です。 分らない事が出てきたらネットで調べる事になると思うので出来るだけ情報が多いものがいいです。 よろしくお願いいたします。

    • ベストアンサー
    • PHP
  • PHPのフレームワークはどれを学ぶべきですか?

    PHPは専門学校などいって、ある程度自分一人でも、 簡単なCMSなど作れるようになったものですが、 やはり、作業効率というのも考えないといけないと思っており PHPのフレームワークをぜひ、勉強したいなと思ってます。 それで、調べてみると、何個か代表的なものがあるのですが、 実際の制作会社やメディアで仕事に活かそうと思えば、どのフレームワークを 学んだらよいと思いますか。 ・ZEND ・CakePHP ・symfony それぞれのフレームワークの特徴などもあるかと思いますが ぜひ、活用している方がいれば、いろいろご意見をお聞かせください。

    • 締切済み
    • PHP
  • PHPのフレームワークの中でSmartyと親和性の高いものにはどんなものがありますでしょうか?

    お世話様です。 表題の通りなのですが、 「PHPのフレームワークの中でSmartyと親和性の高いものにはどんなものがありますでしょうか?」 先日、あるサイトで、 PHPのフレームワークでどれが一番いいか、という投票をやっていまして、 結果はシンフォニーが一番でした。 ですが、とあるブログで、シンフォニーだとSmartyを使うのに苦労する、 というような内容が書いてありました。 といったわけで、このような質問をさせていただいた次第です。 //--------------------------- また、自分は今までフレームワークを用いたことがないため、 比較的とっつきやすいフレームワークだと、うれしいです。 (が、あくまで「Smarty との親和性が高い」のほうが優先ということで) 以上、よろしくお願い申し上げます。

    • ベストアンサー
    • PHP
  • phpとmysqlの質問です。

    phpを勉強する時に、pearとsmartyも勉強するのがセオリーみたいなのですが、 (いずれzendフレームワークに移行するため) pearやsmarty関連のブログ等の記事が最近少ないようですが、 (検索しても古い記事ばかりです) これからphpを勉強するにあたり、上記2つは必須でしょうか? phpのバージョンが変わると動かないとかもあるらしいのですが・・・・・・・・・・ それともネイティブにフルスクラッチのphpで勉強すべきでしょうか? (余談ですが、cakephpの記事は増えているように感じます。)

    • ベストアンサー
    • PHP
  • cakePHPについて

    現在PHPを学び中の初級者です。 最近になりcakePHPというフレームワークがあることを知りました。 そこで質問なのですが (1)これからphpを学習していくにあたって、cakePHPを学習していくか、フレームワークなどを頼らずゼロから学習するのどちらがいいのでしょうか? ちなみに一応基本的なことは一通り学習しました。 (2)実際に開発をされている方にお聞きしたいのですが、 ・cakePHPなどのフレームワークを主に活用している。 ・ゼロからの手打ちでしている。だと開発する際はどちらが多いでしょうか? よろしくお願いします。

    • ベストアンサー
    • PHP

専門家に質問してみよう