关于 Phalcon php:Phalcon php – 未定义的命名空间 Phalcon

Phalcon php - Undefined namespace Phalcon

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

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

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

我正在关注网站上的文档作为指南和教程。

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

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

安装似乎没问题。

请帮帮我。


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

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

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

1
2
<?php
phpinfo();

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

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

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

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


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

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

--namespace="" 用于模型:

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

对于脚手架:

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

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


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

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

如果一切正常,你应该看到 line

1
phalcon => enabled

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