首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >phalcon框架when工具在创建模型、视图和控制器时不起作用

phalcon框架when工具在创建模型、视图和控制器时不起作用
EN

Stack Overflow用户
提问于 2015-02-12 14:23:31
回答 5查看 3.8K关注 0票数 3

我在尝试让phalcon网络工具工作时遇到了一些问题。

在使用命令行devtools时,我可以毫无问题地创建控制器和模型。

然而,使用webtools并不容易。

它正确地显示了已经创建的控制器和模型:

  • 控制器(http://i.imgur.com/IRWPaVJ.png)
  • 模型(http://i.imgur.com/rIbvbg9.png)

我也可以编辑它们(http://i.imgur.com/orJweLl.png)。

显然,Db连接是可以的,因为webtools显示DB中的每个表:

  • 模型(http://i.imgur.com/iOkZfyo.png)
  • 脚手架(http://i.imgur.com/5ZLRuq5.png)

但是,当试图从web界面创建控制器时,我得到了下一个错误:

“请指定控制器目录”

在尝试从数据库表创建模型时,也是一样的:

“无法从配置文件加载数据库配置”

或者当试图生成脚手架时:

“配置中找不到适配器。请指定配置变量数据库”

我的app/config/config.php内容:

代码语言:javascript
复制
return new \Phalcon\Config(array(
    'database' => array(
        'adapter'     => 'Mysql',
        'host'        => 'localhost',
        'username'    => 'phalcon',
        'password'    => 'phalcon',
        'dbname'      => 'phalcon',
        'charset'     => 'utf8',
    ),
    'application' => array(   
        'controllersDir' => __DIR__ . '/../../app/controllers/',
        'modelsDir'      => __DIR__ . '/../../app/models/',
        'viewsDir'       => __DIR__ . '/../../app/views/',
        'pluginsDir'     => __DIR__ . '/../../app/plugins/',
        'libraryDir'     => __DIR__ . '/../../app/library/',
        'cacheDir'       => __DIR__ . '/../../app/cache/',
        'baseUri'        => '/phalconTest/',

    )
));

我的public/webtools.config.php内容:

代码语言:javascript
复制
define('PTOOLS_IP', '192.168.248.135');
define('PTOOLSPATH', 'C:/phalcon-devtools');

My public/webtools.php:

代码语言:javascript
复制
use Phalcon\Web\Tools;
require 'webtools.config.php';
require PTOOLSPATH . '/scripts/Phalcon/Web/Tools.php';

Tools::main(PTOOLSPATH, PTOOLS_IP);

我正在运行Phalcon 1.3.4-Windows x86 for PHP5.4.0 (VC9)

EN

回答 5

Stack Overflow用户

发布于 2015-02-13 19:32:55

这似乎是webtools中的一个bug。

看看vendor/phalcon/devtools/scripts/Phalcon/Builder/Component.php

_getConfig函数。

快速而肮脏的解决方案是将../添加到path中。

票数 1
EN

Stack Overflow用户

发布于 2015-05-27 01:29:16

您需要更改app/config/config.php中的第一行

defined('APP_PATH') || define('APP_PATH', realpath('..'));

票数 1
EN

Stack Overflow用户

发布于 2015-04-08 00:58:19

为了增加一些答案,通过预置../编辑configPath,以及一些代码更改,在重新修剪modelPath时忘记了一点'/‘。

此外,代码将被更新和修复,但到目前为止,人们可能可以通过编辑your/path/phalcon-devtools/scripts/Phalcon/Builder/Model.php来修复这些问题;

代码语言:javascript
复制
$modelsDir = rtrim(rtrim($modelsDir, '/'), '\\') . DIRECTORY_SEPARATOR;
    if ($this->isAbsolutePath($modelsDir) == false) {
        $modelPath = $path . DIRECTORY_SEPARATOR . $modelsDir;
    } else {
      //  $modelPath = $modelsDir;
    // replace or ADD TO LINE ABOVE so it looks like BELOW:
          $modelPath = DIRECTORY_SEPARATOR . $modelsDir;
}

然后,模型将与TKF's answer一起在webtools中工作。好好享受吧。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28479921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档