• PHPCMS v9 分析(1)


    最近公司要做微信接口开发。用asp.net 始终取不到微信用户的openId,换了php却可以。于是把代码改用PHP开发了。  
    于是在项目中引入了PHPCMS V9这个框架。 学习PHP的第一份资料
      
    其实很早就用PHPCMS V9了,但是一直没有深入研究。这些天正好仔细分析一下。
     一: 先简单看了看PHP语法:
    PHP是一种弱类型,解释型,动态的语言,和C#不一样,和javascript有那么点相似。
    PHP中的类没有public修饰符。据说php5已经开始由namespace,但是phpcms v9目前没有使用。
     
    类中函数的调用:
              刚用的时候老闹心了。非静态的方法是$this->方法名。我经常用this->。
              类中的静态方法是类名::方法名.
     
     include,inlude_once,require,require_once
    类似C#中的using还是java里的import ,不过这里需要指明php文件的路径。
    因为 include 是一个特殊的语言结构,其参数不需要括号。在比较其返回值时要注意
    处理返回值:在失败时 include 返回 FALSE 并且发出警告。成功的包含则返回 1
     
    如果来自远程服务器的文件应该在远端运行而只输出结果,那用readfile() 函数更好。另外还要格外小心以确保远程的脚本产生出合法并且是所需的代码
     
    require 和 include 几乎完全一样,除了处理失败的方式不同之外。require 在出错时产生 E_COMPILE_ERROR 级别的错误。换句话说将导致脚本中止而 include 只产生警告(E_WARNING),脚本会继续运行。
     
     
     
     
     
    include_once 语句在脚本执行期间包含并运行指定文件。此行为和 include 语句类似,唯一区别是如果该文件中已经被包含过,则不会再次包含。如同此语句名字暗示的那样,只会包含一次。
     
     
     
     
    php 5 说是面向对象的,但是它和C#,java不一样,并不能算是完全的面向对象。
     
    至少C# ,java除了main函数,都是类。php 5除了类还有独立的define或者function 等。
     
     
    二 phpcms v9 的基本结构:
     
    【1】 caches 文件夹放着配置文件和缓存文件。 phpcms v9 使用了文件型缓存,当然也可以配置memcache。
     
     【2】statics 目录 放静态文件JS,CSS,images
     
     【3】phpcms 是程序主文件。
          
             --libs 系统核心库
            -- model文件夹    数据表模型,并不像C#活java 里头做ORm时,每个数据表对应一个实体类,实体类每个字段和数据表的字段对应。这里的实体类只是指明了类对应的表而已。每一个model 都继承自父类model
     
           而这个model类,更像是早几年甚至现在都用的SqlHelper。
           
           在phpcms v9中,每个model对单表操作还可以,想写个联合查询是很难滴。目前我用视图实现。即先做一个多表操作的视图,然后在phpcms v9 里放一个视图的model,把视图当表操作么。
     
    【4】 modules 目录放着phpcms v9的所有模块。
             每个模块至少有这么几个目录,classes,functions,templates 。
              classes:可以看做是控制器的基础类吧
              functions:工具函数?
              templates : 这是给管理端操作这个模块用的。
     
     
    三. PHPCMS v9    的运行流程 
     
    1:  index.php 调用base.php.
    2:  定义变量,拆分路由,加载路由指定的module中的方法。
     
            其中用了几个反射【不知道是不是可以这么称呼】。
             class_exists 判断控制器是否存在,
             method_exists 判断方法是否存在。
             call_user_func(array($controller, ROUTE_A));  调用控制器里的防范。
            在方法中include  php模板文件,齐活,一个网页就这么动起来了。
  • 相关阅读:
    kickstart自动安装部署RHEL7
    物流即使查询API
    快递单号查询快递鸟API接口-100家快递单轨迹推送
    物流跟踪API-快递单订阅
    如何最快实现物流即使查询功能-物流轨迹查询API
    提供一个不错的物流物流接口给大家,本人亲测,真的不错
    给idea添加类注释和方法注释模板
    分享一个生成反遗忘复习计划的java程序
    用TreeSet和Comparator给list集合元素去重
    对poi-excel导出的浅层理解
  • 原文地址:https://www.cnblogs.com/xinchuang/p/4111730.html
Copyright © 2020-2023  润新知