1

Zend Framework は私にとってまったく新しいものであり、問​​題があります。おそらく簡単に修正できますが、Google で解決策が見つかりません。

パブリック フォルダーに正しいパスを設定する方法がわかりません。仮想ホストとして xampp を使用しています。現在のフル パスは次のようになります。

localhost/zf_project/public/controller/action

今、私がフォームとリンクを使用しているとき、それは私をに移動するlocalhost/controller/actionので、現在私はどこにでも追加しています:

$front = Zend_Controller_Front::getInstance();  
$form->setAction($front->getBaseUrl().'/controller/action');

おそらく、パブリック フォルダーへの既定のパスを設定する最も簡単な方法があります。私は.iniアプリケーションファイルに追加しようとしました:

resources.frontController.baseurl = "/zf_project/public"
4

2 に答える 2

4

ZF は、構成ファイルやブートストラップからベース URL を設定しなくても、ベース URL を決定できます。

baseUrlビューから、ヘルパーを使用してベース URL とのリンクを作成できます。

// resolves to localhost/zf_project/public/controller/action
$this->form->setAction($this->baseUrl('controller/action'));

// or

// resolves to localhost/zf_project/public/images/icons/online.png
<img src="<?php echo $this->baseUrl('images/icons/online.png') ?>" />

urlヘルパーを使用して URL を作成できます。これにより、構成されたルートに基づいて URL が構築されます。

// localhost/zf_project/public/controller/action/id/1234
echo $this->url(array('controller' => 'controller',
                      'action'     => 'action',
                      'module'     => 'default', 
                      'id'         => 1234));

コントローラーからこれらのヘルパーのいずれかを使用することもできます。呼び出すときにビュー オブジェクトを指定するだけです。

$this->view->baseUrl();
$this->view->url($params);

画像、javascript、css ファイル、または静的コンテンツを参照するほとんどの場所で、baseUrlヘルパーを使用します。アプリケーション内で他のコントローラーやアクションにリンクしたいときはいつでもurl、ルートを使用して有効な URL を構築するヘルパーを使用します。そうすれば、URL 構造を変更しても、urlヘルパーに変更が反映されるため、既存のコードを変更する必要はありません。

于 2012-09-04T09:47:29.620 に答える
2

仮想ホスト ファイルを変更する必要があります。

Zend アプリケーションをベース ルートに配置するのが標準的な方法です。

あなたの XAMP (私は Windows にはあまり詳しくありませんが、試してみます) には、次のようなフォルダーが必要です。/xampp/apache2/confそこには、apache2.conf または httpd.conf のいずれかがあります。それらを開き、どこかを見つけて、フォルダーDocumentRootでナビゲートし/publicます。

または、まったく新しい仮想ホストを作成します。

また、私はこの良いチュートリアルを見つけました。ステップバイステップに従ってください(またはステップ3にジャンプしてください)

それが役に立てば幸い :)

質問?

于 2012-09-04T09:34:50.870 に答える