【问题标题】:Phalcon php - Undefined namespace PhalconPhalcon php - 未定义的命名空间 Phalcon
【发布时间】:2015-01-04 01:55:23
【问题描述】:

我正在使用 php Phalcon 开发一个项目。

我正在使用 Xampp 服务器。我遵循的安装过程在这个链接上:

http://docs.phalconphp.com/en/latest/reference/install.html

我按照网站上的文档作为指南和教程。

我的问题是,每次我输入“class MyClass extends \Phalcon\Mvc\Model”

它说未定义的命名空间“Mvc”,在其他文件中它还给出了 Phalcon 是未定义的命名空间的错误。

安装似乎没问题。

请帮帮我。

【问题讨论】:

  • 如果它不工作,安装肯定不行。但是真的没有办法知道到底是哪里出了问题。
  • 那我该怎么办?重新安装?还有其他选择吗?
  • 正如 jumper85 所指出的,这是一个 IDE“问题”。无论您使用什么编辑器都不了解 Phalcon 库,因此它仅指标准 PHP 库,而其他所有内容都无法识别。只需忽略“错误”。如果代码在浏览器中运行,那就是你关心的。 Codelobster PHP 编辑器有一个付费的 Phalcon 插件。

标签: php phalcon


【解决方案1】:

我认为这不是安装 Phalcon 的问题。

我已经认识到我的 IDE 的相同行为,因为 Phalcon 仅作为 PHP 的扩展加载,不能作为可以被您的 IDE 索引的真正 PHP 文件提供。

检查安装是否正常的最简单方法是在项目根目录中创建一个 info.php。

<?php
phpinfo();

如果你在浏览器中打开这个文件,它应该会显示一个包含 phalcon 信息的块。

有一个脚本可以为您创建可以集成到您的项目中的存根文件。

https://github.com/phalcon/phalcon-devtools/blob/master/ide/gen-stubs.php

如果这些文件被您的 IDE 索引,未定义命名空间的消息应该消失了。

【讨论】:

  • 非常感谢我会尝试
【解决方案2】:

首先检查 php 是否加载 phalcon 模块。对于终端类型

php -r "echo phpinfo();" | grep 'phalcon'

如果一切顺利,你应该看到一行

phalcon => enabled

在 Windows 中 grep 不起作用,您应该自己查找该行。

【讨论】:

    【解决方案3】:

    如果您的代码有效。并且 IDE 显示 Mvc 未定义的命名空间,那么您必须为您的 IDE 安装 Phalcon 开发人员工具插件。该插件可用于 PHPStorm。 Phalcon 是一个 C 扩展,如果你没有安装开发者工具插件,IDE 将显示未定义的命名空间。

    Phalcon 有不同的方式来使用模型,例如注册模型类、注册命名空间或注册目录。如果您通过命令而不是手动编写代码来创建模型,您将获得适当的基本模型类来扩展。如果仍然有问题,则说明 Phalcon 安装有问题。

    对模型使用--namespace="":

    phalcon create-model profiles --namespace="Application\Models"
    

    对于脚手架:

    phalcon create-scaffold profiles --ns-models="Application\Models" --ns-controllers="Application\Controllers"
    

    如果不注册模型命名空间,只注册模型目录,则在创建模型文件后编辑模型文件并删除命名空间定义。

    【讨论】:

    • 您能否进一步解释一下这两个命令如何解决 IDE 中的问题?
    • 请将所有信息添加到答案本身,而不是评论部分
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-11-26
    • 1970-01-01
    • 2014-04-30
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多