15个最新的JavaScript库来增强您的Web体验澳门金沙30064在线网站:

By admin in 计算机教程 on 2019年7月14日

1、公共函数定义

—恢复内容开始—

  自动加载:在项目的common文件夹中定义,公共函数文件命名规则为common.php,只有命名成common.php才能被自动载入。

前言
TP的手册相当多,其实不必再出这样的贴子,论技术,我也是菜鸟一个,同时也在学习当中。
看到论坛上多了不少新朋友,不少在抱怨手册看不懂,那我就姑且抛砖引玉,尝试与新朋友们更简单地、手把手地进入TP的应用中去。讲解过程中有错的地方,大家帮忙指正。

  动态加载:可以修改配置项‘LOAD_EXT_FILE’=>扩展函数文件名,动态加载函数库。LOAD_EXT_FILE=>’user,db’,这样子user.php和db.php函数文件就载入到系统了。

这个系列,初步定下的目标为,从零开始,以TP示例中心中的Form为例进行讲解,以实践为主,理论为辅,
将TP的最基本内容逛一遍,至少让我们一起学会如何进行最简单的对数据进行查、增、改、删操作并输出到模板。

  项目分组的情况:建立各自文件夹,然后公共函数命名成为function.php
 分组名/function.php。

由于我们说的是循序渐进,所以我用步骤式来说明,只要一步一步跟着做,相信聪明的你在使用过程中就会明白TP的应用了。

  手动加载:临时性的手动载入某个函数文件可以用,load(‘@.function’);
@表示项目中的common当前文件夹。load方法载入函数只能在当前函数中使用。

注意:以下的步骤,仅仅是TP灵活的布署方式其中一种,实际开发中可以根据自己的情况去另行设定。
至于为什么那样做,我们会在最后再作总结,我觉得先实操然后再进行说明比较容易明白。以下不再重复解释。

2、dump($array,是否输出0/1,标签,0)调试输出函数,格式化输出$array数组,常用例子
dump($array,1,'<pre>’,0),表示用print_r()格式化输出数组。

============================================

3、模板文件

一  快速开始一个项目

  文件结构:Tpl/模块名/方法名.html 

名词解释:

  $this->display();会根据模块和方法自动调用模板。

项目:你要开发的系统,称之为项目。

  模板会用到一些公用文件如css js
images等,放在项目根目录的public文件夹中。跟入口文件index.php同级目录。

入口文件:你可以理解为这个项目的唯一一道门,以后所有的操作都会通过这道门去执行处理。
不必理会什么意思,你甚至可以先把它看成是index.php就是入口文件

  在模板中引用这些公用文件采用__PUBLIC__澳门金沙30064在线网站,可以直接指定到public文件夹,__PUBLIC__只能在模板中替换,并非常量,在控制器中不能被替换。

TP: ThinkPHP框架的简称

  可以修改__PUBLIC__替换成的结果:

1 下载TP1.5正式版

  在config.php中定义

2 拟好你的项目名称,我们这里以 Myapp 为项目名称

  ’TMPL_PARSE_STRING’=>array(

3 在www根目录下,将TP框架所有文件全部复制过去,文件夹名称是ThinkPHP

    ’__PUBLIC__’=>__ROOT__.’/’.APP_NAME.’/Application’.’/’.GROUP_NAME.’/Tpl/Public’,,

4 与ThinkPHP同级新建一个文件夹,起名为 Myapp,也就是项目名称

  );

5 在www根目录下,创建一个PHP文件,起名index.php,这就是入口文件

 

入口文件index.php代码:


  1. <?php
  2.     // 定义ThinkPHP路径
  3.     define(‘THINK_PATH’,’./ThinkPHP’);
  4.     // 定义项目名称
  5.     define(‘APP_NAME’,’Myapp’);
  6.     // 定义项目路径
  7.     define(‘APP_PATH’,’./Myapp’);
  8.     // 加载入口文件
  9.     require(THINK_PATH.’/ThinkPHP.php’);
    1.     // 实例化这个项目
    1.     $App = new App();
    1.     // 执行初始化
    1.     $App->run();
  10. ?>

复制代码

就这么简单几行,然后打开浏览器,输入http://127.0.0.1/
一个TP项目就这样构建出来了。你会看到

  1. ^_^ Hello,欢迎使用ThinkPHP!

复制代码

这行字。并自动为你创建好项目的目录。接下来,我们这个项目添砖加瓦。

=============================================

二简单认识项目里的各个文件夹

名词解释:

Action:模块控制器类,你暂时可以理解为一个Action文件代表着一个应用模块,Action文件中的每一个方法(function)代表着一个操作,操作分为有输出到模板的操作和只具执行不需要输出的操作。对于有输出的操作,则代表了你的项目中一个展示给用户应用的web页面。(注意:这不是正统的术语解释)

Model:数据表相对应的Model类,可以理解为一个Model文件对应着你项目数据库的其中一个表。命名关系请参看这里:http://thinkphp.cn/Article/10

在添砖加瓦之前,我们有必要认识一下各个文件夹的用途。

打开Myapp文件夹,里面TP已让你很省心地构建了最基本的目录。其中:

Cache文件夹:项目自动生成的模版缓存会出现在这里

Common文件夹:你的项目中要用到的自己写的函数,可以在这个文件夹下创建一个名为common.php文件,
在这个文件中书写函数,这些函数可以用在你项目的各个类,同时也可以在模板变量中使用,TP框架会自动加载。

Conf文件夹:项目的运行配置文件config.php将放在这个文件夹里,(还有路由配置,调试配置等,请先忽略)

Data文件夹:TP会把项目的数据库表字段生成到这里,另外。。。那些先不必理会。

Lang文件夹:项目的语言设置目录,先不必理会。

Lib文件夹:应用类库目录,在这文件夹内还有两个文件夹:Action和Model,Action目录放置命名为xxxAction.class.php的控制器文件,Model目录放置对应数据库表的命名为xxxModel.class.php的类文件。

Logs文件夹:项目中自动产生的日志文件会存放在这里。暂不必理会。

Temp文件夹:数据缓存目录,存放项目中自动生成的项目运行缓存文件等,以及使用文件方式时的缓存文件等

Tpl文件夹:模板文件目录,内有一个default文件夹,也就是默认的风格。
项目生成的目录结构就先简单介绍到这里,下一步我们要简单地对项目进行最基本的配置。

三创建数据表,并对项目进行配置,以便连接到数据库。

1
我们这里使用的是Mysql数据库,利用PhpMyadmin新建一个数据库,名称为myapp。
使用示例中心中的sql如下:

  1. CREATE TABLE `think_form` (
  2.   `id` smallint(4) unsigned NOT NULL auto_increment,
  3.   `title` varchar(255) NOT NULL,
  4.   `content` varchar(255) NOT NULL,
  5.   `create_time` int(11) unsigned NOT NULL,
  6.   `update_time` int(11) unsigned NOT NULL,
  7.   `status` tinyint(1) unsigned NOT NULL,
  8.   `email` varchar(50) NOT NULL,
  9.   PRIMARY KEY  (`id`)

  10. ) ENGINE=MyISAM  DEFAULT CHARSET=utf8 ;

复制代码

2
在Conf文件夹内,建立一个config.php文件。这个文件,就是Myapp项目的配置文件。系统会自动加载
config.php文件中的配置是以数组返回方式进行定义,会覆盖TP框架中的common目录下convention.php的默认配置。没有设置的配置,就以默认为准。配置设置可以利用C函数动态改变,暂且不必理会。
而我们连接到数据库的设置也是在这个文件中书写。

config.php代码如下:

  1. <?php
  2. if (!defined(‘THINK_PATH’)) exit();
  3. return array(
  4. ‘DB_TYPE’=>’mysql’, // 使用的数据库是mysql
  5. ‘DB_HOST’=>’localhost’,
  6. ‘DB_NAME’=>’myapp’,// 数据库名
  7. ‘DB_USER’=>’root’,
  8. ‘DB_PWD’=>’123456’,// 填写你连接数据库的密码
  9. ‘DB_PORT’=>’3306’,

  10. ‘DB_PREFIX’=>’think_’, // 数据表表名的前缀
    请参看http://thinkphp.cn/Article/10

  11. );

  12. ?>

复制代码

暂时就是这样,后面会再根据需要进一步添加和讲解。

3
在Lib/Model目录下,创建一个文件,命名为FormModel.class.php。命名规则刚才你已看了两次。
这里就不再多说,我们可以看到,数据表名是think_form,由于我们配置了数据表表名的前缀为think_,
所以文件的命名直接使用 “不含前缀的数据表表名+Model.class.php”就行了。
在这个文件中书写代码:

  1.  
  2. <?php
  3. class FormModel extends Model {
  4. }
  5. ?>

复制代码

就这样定义一个类名就行了。该类继承了Model类。至于自动验证,自动过滤,自动填充这些,暂且不理会。

4 提前先爽一下吧。再次利用PhpMyAdmin,在该表中插入一些数据
sql如下:

  1. INSERT INTO `think_form` (`id`, `title`, `content`,
    `create_time`, `update_time`, `status`, `email`) VALUES
  2. (1, ‘这是测试数据’, ‘dfdf’, 1212724876, 0, 1, ‘dddd@ddd.com’);

复制代码

然后我们打开Myapp/Lib/Action/IndexAction.class.php文件,将里面的内容删掉。改成下面这样:

  1. <?php
  2. class IndexAction extends Action{
  3.     public function index(){
  4.         $form = D(‘Form’)->findall();
  5.         dump ( $form );
  6.         exit;
  7.     }
  8. }
  9. ?>

复制代码

打开浏览器,输入http://127.0.0.1/,看,数据给输出来了。

今天先到这里,下一步我们继续循序渐进。让我们一起把这个Form最后变成一个有会员功能的留言板。

 

 

[教程] 一步一步循序渐进学习TP二(新手篇)

 

由于时间关系,此系列共同学习教程更新的速度会比较慢些,请多见谅,上一章节的内容请看这里。
http://bbs.thinkphp.cn/viewthread.php?tid=4673&extra=page%3D1


PHP开发,无非是对数据库使用了逻辑控制的增删改查和使用模板输出数据内容。
通常数据的插入都是通过表单来进行添加。表单提交涉及到页面显示,
所以这一节我们暂时放下对数据库的操作讲解,先来简单学习一下TP的模板引擎的变量输出。

第四节简单了解TP的模板输出
上一章节我们提及到,

TP中的每一个xxxAction.class.php文件代表着一个应用模块,此Action中的每一个方法(function)代表着一个操作,操作分为有输出到模板的操作和只具执行不需要输出的操作。

打开Myapp/Lib/Action/IndexAction.class.php文件,我们看看里面的基础代码

  1. class IndexAction extends Action{
  2.     public function index(){
  3.     }
  4. }

复制代码

理论知识:

1
在TP开发中,要增加一个应用模块,就在Action文件夹里建立一个类,类的文件命名格式是模块名称+Action.class.php。例如我们这里的应用模块是Index,所以定义文件名为IndexAction.class.php

2
应用模块类的定义要继承框架的Action类。要为这个应用模块添加一个操作,则定义一个以此操作为命名的function.例如上面的index操作。

通常一个应用模块中,会有若干操作(function)需要有与用户交互的页面,这就需要用到模板输出,
TP本身已内置了一套具有TP特色的,很强大易扩展但应用非常方便兼简单的模板引擎。

在应有模块中,如果某个操作是需要页面显示的,只要对应在Myapp/Tpl/default/里建立一个文件夹,文件夹以应用模块的名称来命名,然后在这个文件夹下,建立一个以这个function名称来命名的html文件,就可以在这个方法中使用$this->display()方法来直接调用该模板。(当然也可以调用其它模块下的其它模板或显式指定模板文件位置和名称,由于是循序渐进式的学习,就让我们先忽略吧)

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图
Copyright @ 2010-2019 澳门金沙30064在线网站 版权所有