Phalcon如何创建多模块并能进行访问 《Phalcon入坑指南系列 四》(1)

简介: Phalcon如何创建多模块并能进行访问 《Phalcon入坑指南系列 四》

前言



使用Phalcon框架大多数都是为了其多模块功能来的,今天来聊聊Phalcon多模块如何使用。


依然是一步一个坑,使用这个框架就是痛并快乐着,一边承受坑带来的痛苦,一边享受解决坑的快乐。


一、创建一个多模块应用

使用命令先来创建出一个多模块的项目phalcon create-project kakaModules modules


image.png


可以看到生成的项目只有一个默认的frontend模块。


在frontend模块的index控制器中先来试试访问先,看多模块是如何访问的。


image.png


跟咔咔想的结果是如出一辙,就是默认进的这个模块的index方法。


先按照常理出牌,按照正常方式看是否会正常访问


在app/modules/frontend/controllers/IndexController.php这个文件里边创建一个kaka方法


image.png


进行访问测试


image.png


看来Phalcon还是迎合大众的胃口的。


二、注意:当你多模块无法访问怎么办

还记得在第一期文章中将单模块创建好了之后对Nginx修改了一次配置。


这个也是官方给提供的配置,按理说如果配置好了,后边就是再创建多模块也不会影响什么。


咔咔就是走了不寻常之路,重新配置了一个虚拟域名,但没有修改Nginx配置,所以一直提示无法访问。


如果你也出现了如下界面,则看看自己是否配置了Nginx


image.png


可以看到跟上文的访问路径是一致的,就会出现这样的情况。一定要看看是否配置了Nginx。


下图是咔咔的配置,如有需要可以直接复制拿过去使用。


image.png


最重要的也就只有一行配置


try_files $uri $uri/ /index.php?_url=$uri&$args;



三、如何创建属于自己的一个模块

使用命令来创建一个属于自己的模块phalcon module --name kaka --namespace=kaka --output=app/modules


image.png


创建出来的kaka模块,你可以看到在controller中是没有文件的,那么这个文件是否可以用命令来进行创建呢?


那肯定是可以的喽!phalcon controller --name index --output=app/modules/kaka/controllers


image.png


文件到手天下我有,先来访问一波看是否可以。


image.png


这可是真无情,但也无妨。根据报错信息可得知KakaModules\Modules\Frontend\Controllers\KakaController handler class cannot be loaded访问路径莫名其妙进入到了系统默认的frontend模块。


先不管这个错误是怎么发生的,先来看看创建出的文件是不是有问题,非常明显的一个问题就是没有命名空间。


先给控制器加上命名空间先。


image.png


此时还需要十分注意的是module这个文件,此文件是非常重要的,同样也要添加对应的命名空间。


image.png


这一切做完之后再回来看这个问题。


image.png



相关文章
|
移动开发 JavaScript 前端开发
分享92个JS相册效果JS代码,总有一款适合你
分享92个JS相册效果JS代码,总有一款适合你
428 0
|
移动开发 安全 前端开发
分享97个社区论坛PHP源码,总有一款适合你
分享97个社区论坛PHP源码,总有一款适合你
2799 0
|
API PHP 数据库
PHP中哪个框架最适合做API?
在数字化时代,API作为软件应用间通信的桥梁至关重要。本文探讨了PHP中适合API开发的主流框架,包括Laravel、Symfony、Lumen、Slim、Yii和Phalcon,分析了它们的特点和优势,帮助开发者选择合适的框架,提高开发效率、保证接口稳定性和安全性。
474 3
|
10月前
|
机器人 API
自定义飞书Webhook机器人api接口
自定义飞书Webhook机器人api接口
711 25
zdl
|
消息中间件 运维 大数据
大数据实时计算产品的对比测评:实时计算Flink版 VS 自建Flink集群
本文介绍了实时计算Flink版与自建Flink集群的对比,涵盖部署成本、性能表现、易用性和企业级能力等方面。实时计算Flink版作为全托管服务,显著降低了运维成本,提供了强大的集成能力和弹性扩展,特别适合中小型团队和业务波动大的场景。文中还提出了改进建议,并探讨了与其他产品的联动可能性。总结指出,实时计算Flink版在简化运维、降低成本和提升易用性方面表现出色,是大数据实时计算的优选方案。
zdl
550 56
ThinkPHP6的控制器定义及控制器初使用
本文介绍了ThinkPHP6框架中控制器的定义和初步使用方法。内容包括控制器的文件位置、命名规范、如何改变控制器目录名、单应用模式下的项目访问路径,以及控制器类文件的实际位置和访问URL的示例。文章还提到了ThinkPHP的控制器类可以灵活定义,无需继承任何基础类库,但建议继承一个基础的控制器类以方便扩展。控制器名不区分大小写,并且支持驼峰命名转下划线的方式。
ThinkPHP6的控制器定义及控制器初使用
|
移动开发 JavaScript 安全
总有一款适合您分享78个JS相册代码
本文分享了78款JS相册代码,包括3D相册旋转木马、图片悬浮效果、倾斜图片幻灯片切换等特效,适用于各种图片展示场景。无论您需要哪种样式,都能在这里找到满意的解决方案。快来挑选吧!参考链接:[点击这里](https://www.vipwb.com/sitemap.xml)。
341 4
|
API PHP 数据库
Laravel框架下通过DB获取数据并转为数组的方法
通过上述方法,Laravel为开发者提供了一套灵活而强大的工具,用于从数据库中检索数据并将其转换为数组。无论是使用DB Facade直接执行查询,还是利用模型的方法,Laravel都能够简化这一过程,使得代码既简洁又富有表现力。在实际开发中,选择最适合你需求的方法可以有效提高开发效率和应用性能。
377 0
|
JavaScript 前端开发 网络协议
从理论到实践:全面剖析Python Web应用中的WebSocket实时通信机制
【7月更文挑战第17天】WebSocket在实时Web应用中扮演重要角色,提供全双工通信,减少延迟。本文详述了Python中使用`websockets`库创建服务器的步骤,展示了一个简单的echo服务器示例,监听8765端口,接收并回显客户端消息。客户端通过JavaScript与服务器交互,实现双向通信。了解WebSocket的握手、传输和关闭阶段,有助于开发者有效利用WebSocket提升应用性能。随着实时需求增长,掌握WebSocket技术至关重要。
757 6
|
数据采集 JavaScript 前端开发
Web爬虫开发指南:使用Python的BeautifulSoup和Requests库
Web爬虫是一种从互联网上获取数据的自动化工具,它可以用于抓取网页内容、提取信息和分析数据。Python提供了一些强大的库,其中BeautifulSoup和Requests是两个常用的工具,用于解析HTML内容和发起HTTP请求。本文将介绍如何使用BeautifulSoup和Requests库构建一个简单而有效的Web爬虫。