• SpeedPHP学习教程第二篇——(基础知识,配置熟悉及......)(原创连载三)


    从现在起,我们就要正式接触speedphp框架了,现在给大家介绍一些基础知识,方便后面的学习
    原创归安徽php社区:教程已经全部完成,看全部教程,请移步安徽php社区http://bbs.hfphp.org
    1.
    controller目录内的每个控制器都必须继承 spController,这个是speedphp主控制器


    在controller目录内的每个文件,我们都称为控制器(controller)。每个 控制器,相对来说就是多个相关程序的集合,而每个控制器内部的每一个function,都是一个动作(action),而这些动作(程序),都是相关性比 较紧密的。比如说在用户登录注册的程序里面,可能会有一个叫user.php的控制器,而里面可能有:
    function register()  用户注册程序
    function login() 用户登录程序
    function findpassword() 找回密码程序等等。。。
    这些动作(程序)都是与user.php(用户程序)是非常紧密相关的,所以我们放到同一个控制器里面。

    2.基本知识:(有的大家不要急,我们会使用滴~~)
       (一)、dump——格式化输出变量程序(SpeedPHP框架核心调试工具 )
       
        string dump(mixed vars, bool output, bool show_trace)
        dump()在日常开发中经常会用到,是进行变量调试的最方便的方法。


    参数:
    mixed vars 需要调试输出的变量,
    bool output 是否直接输出调试信息,默认直接输出。在设置成FALSE的时候,将会是返回调试信息而不是直接输出。
    bool show_trace 是否进行变量调试跟踪,如果设置成TRUE的话,将使用spError()的方式显示调试信息。
    也参考官方的调试教程http://speedphp.com/post/core-functions-dump.html
       (二)、spUrl
    URL模式的构建函数
    url_string spUrl(string controller, string action, array args, string anchor, bool no_sphtml)
    原创:安徽php社区http://bbs.hfphp.org
    在Smarty中,spUrl()的使用将是:
    <{spUrl controller=null action=null arg1=arg1 arg2=arg2 … anchor=anchor}>

       参数:
       string controller 控制器名称,默认为配置'default_controller'
       string action 动作名称,默认为配置'default_action'
       array args 传递的参数,数组形式
       string anchor 跳转锚点
       bool no_sphtml 是否应用spHtml设置,在FALSE时效果与不启用spHtml相同。
       spUrl()是框架中使用最多的函数之一
    (三)spArgs——获取环境参数
      成员变量
      private
          $args — 在内存中保存的变量
       成员函数
         __construct — 构造函数
         get — 获取应用程序请求变量值
         has — 检测是否存在某值
         __input — 函数式使用模型辅助类的输入函数
         request — 获取请求字符
    官方教程:
    spArgs代替$_GET/$_POST的数据获取:
    http://speedphp.com/post/spargs-post-get.html


         
    3.本次我们的实例是写一个比较完整的留言本,主要实现功能,就不做什 么美化了,呵呵

    原创:安徽php社区http://bbs.hfphp.org  

    我们先介绍我们的配置文件

    配置文件部分:

    代码
    <?php
    //加入头信息,不然会出现有时候会出现乱码,我们自己定义了header头信息
    header("Content-Type:text/html;charset=utf-8");
    define("SP_PATH",dirname(__FILE__)."/SpeedPHP");    //定义框架目录
    define("APP_PATH",dirname(__FILE__));     //定义项目目录
    $spConfig = array(                     //开始项目配置
                    "db"=>array(             //数据库配置开始
                            'host' => 'localhost',
                            
    'login' => 'root',
                            
    'password' => '111111',
                            
    'database' =>'sp_message'        //
                           //'prefix'=>'qy_'               //这个是数据库表名前缀,可有可无,根据自身情况来定~~

                    ),
            
    //本次,我们的的实例没有使用smarty来写,但是作为Speedphp框架自带的模板引擎还是要提下滴,
            //详细的大家可以看speedphp手册,大家用smarty的基础,应该比较简单的~~~        

            "view"=>array(               //传说中smary开始,这个大家应该比较熟悉吧~~都应该学过了,
                'enabled' => TRUE,              //使可用,也就是开启功能啦~~~
                'config' => array(                 //开始配置了,
                    'template_dir' =>APP_PATH.'/templates',            //smarty模板目录
                    'complie_dir' =>APP_PATH."/tmp",           //编译目录
                    'cache_dir' =>APP_PATH."/tmp",              //缓存目录
                    'left_delimiter' => '<{',                 //smarty左限定符 ()
                    'right_delimiter' =>'}>',                 //smarty右限定符 
                ),
            )
    ,
           
    //  这里是生成静态页的开始
                    'html' =>array(    
                            
    'enabled' =>TRUE,          //开启html静态生成功能
                    ),
        );
    require(SP_PATH."/SpeedPHP.php");       //

    4.speedphp的框架默认的一些配置及相关设置放在SpeedPHP/spConfig.php

    原创:安徽php社区http://bbs.hfphp.org

    比如:36~39行

    代码
            'default_controller' => 'main', // 默认的控制器名称
            'default_action' => 'index',  // 默认的动作名称
            'url_controller' => 'c',  // 请求时使用的控制器变量标识
            'url_action' => 'a',  // 请求时使用的动作变量标识

    比如大家想改得个性点
    可用这么干:

    代码
            'default_controller' => 'zkyc', // 默认的控制器名称
            'default_action' => 'hfphp.org',  // 默认的动作名称
            'url_controller' => 'a',  // 请求时使用的控制器变量标识
            'url_action' => 'b',  // 请求时使用的动作变量标识


     O(∩_∩)O~       
    再比如64~80:

     原创:安徽php社区http://bbs.hfphp.org

     代码

            'view' => array// 视图配置
                    'enabled' => TRUE, // 开启视图
                    'config' =>array(
                            
    'template_dir' => APP_PATH.'/tpl', // 模板目录
                            'compile_dir' => APP_PATH.'/tmp', // 编译目录
                            'cache_dir' => APP_PATH.'/tmp', // 缓存目录
                            'left_delimiter' => '{',  // smarty左限定符
                            'right_delimiter' => '}', // smarty右限定符
                    ),
                    
    'debugging' => FALSE, // 是否开启视图调试功能,在部署模式下无法开启视图调试功能
                    'engine_name' => 'smarty', // 视图驱动名称
                    'engine_path' => SP_PATH.'/Core/Smarty/Smarty.class.php', // smarty类库路径
                    'auto_ob_start' => TRUE, // 是否自动开启缓存输出控制
                    'auto_display' => FALSE, // 是否使用自动输出模板功能
                    'auto_display_sep' => '/', // 自动输出模板的拼装模式,/为按目录方式拼装,_为按下划线方式,以此类推
                    'auto_display_suffix' => '.html', // 自动输出模板的后缀名
            ),


    下面我们将结合实例给大家讲解speedphp框架,继续关注呀,有失误和问题欢 迎大家更贴~~~~~~~~

    原创:安徽php社区http://bbs.hfphp.org/thread-31-1-1.html转载请说明出处,谢谢。

  • 相关阅读:
    Spring IoC容器的设计——BeanFactory应用场景2
    Spring IoC容器的设计——BeanFactory应用场景
    jQuery学习备忘
    Spring IoC容器的设计—3—次线
    Spring IoC容器的设计—2—主线
    Spring IoC容器的设计—1—主线
    关于备忘信息重置解决方案
    E45: 'readonly' option is set (add ! to override)
    未知高度元素居中
    background
  • 原文地址:https://www.cnblogs.com/jincon/p/1759310.html
Copyright © 2020-2023  润新知