如何获取CakePHP的根目录?

时间:2011-06-29 14:25:00

标签: php cakephp directory-structure

我有一个带有公式的视图(不是用表单助手创建的)。 例如,我将CakePHP安装在名为“myfolder1”的文件夹中。

所以我的公式从这一行开始:

<form id="ctrlAddForm" method="post" action="/myfolder1/ctrl/add" accept-charset="utf-8">

但如果我重命名根文件夹,我必须编辑所有公式(2)。 是否存在表示根目录/名称的常量或函数?

我读过常数ROOT。我应该使用那个变量吗?

解决方案

  1. 您可以使用basename(ROOT)在app \ webroot \ index.php中定义一个常量ROOT_NAME。
  2. 您可以使用HTML帮助程序函数url()。例如,在表单标记的action属性中:

    $ this-&gt; Html-&gt; url(array('controller'=&gt;'ctrl','action'=&gt;'add'));

    < / LI>

4 个答案:

答案 0 :(得分:4)

好吧,你可以试试这个普通的'PHP函数:basename

basename(APP);

由于这不起作用,我实际上打开了自己的Cake安装。试试这个:

basename(dirname(APP));

答案 1 :(得分:3)

我必须获取要在Javascript中使用的CakePHP文档根的URL,并且我能够使用上面的解决方案进行设置:

<script language="Javascript">
$(document).ready(function() {
         docRoot = '<?php echo $this->Html->url('/'); ?>';
}
</script>

和那段代码 - $this->Html->url('/') - 在获取CakePHP的根目录/ URL方面非常有效。

答案 2 :(得分:1)

此页面包含可以使用的常量列表http://book.cakephp.org/view/1141/Core-Definition-Constants

答案 3 :(得分:1)

你可以查看路线 /var/www/yourprojectname/cake/conf/paths.php

您可以通过CAKEPHP使用所有常量变量。

我希望有所帮助。

此致 Archit。