zoukankan      html  css  js  c++  java
  • 关于Thinkphp5类命名导致的“模块不存在”问题

    不得不说,thinkphp5就是个十足的坑货,

    在thinkphp3.2.3的基础上,函数、用法变了也就忍了,

    在mac下写的一个类文件 GetRedisData.php,在mac+mamp环境下是正常运行的

    但是把一模一样的文件放到centos下,tp就报错找不到类

    开始我还以为是nginx才会出现这个问题,后来发现不是这样  换apache也是一样

    查资料,5.0的手册上写着的“类文件采用驼峰法命名”,没错啊,"GetRedisData"这不就是驼峰法吗?

    折腾了很久,无意中把文件名改成

    Getredisdata

    居然就能访问了,访问地址是/GetRedisData/***

    后来查手册,里面url部分介绍到一些信息,整理了下来:

    'url_convert'    =>  true,

    配置为true的情况下,GetRedisData.php无法通过getredisdata或GetRedisData等任何大小写的形式访问

    而必须通过 get_redis_data这种形式才行,

    这是什么逻辑?

    设计这套规则的目的是什么?

    个人感觉非常难以接受,

    既然不能访问驼峰法的命名,那么在这种情况下,getredisdata究竟能访问到什么呢?

    难道只能访问首字母大写的Getredisdata.php?

    如果是这样,那为什么又要在规范中写“类文件采用驼峰法命名”,而又在缺省的url配置中设置为true呢?

    这不就是给人添堵,浪费人时间吗?

    如果要取消,只能把大小写转换关闭

    'url_convert'    =>  false,

    这个时候,才能使用GetRedisData访问GetRedisData.php

  • 相关阅读:
    网络编程
    反射函数与元类
    面向对象进阶
    对象的封装与接口
    对象继承
    面向对象
    包,logging模块与haslib模块
    闭包函数及装饰器
    函数对象、函数的嵌套、名称空间及作用域
    函数简介及函数参数介绍
  • 原文地址:https://www.cnblogs.com/magicc/p/6491405.html
Copyright © 2011-2022 走看看