热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

phpthinkphp框架快速入门

本文简要的介绍了如何从无到有的创建一个基于thinkphp框架的项目,并对项目进行相应的配置以及一些基本原理的介绍,在介绍的过程中涉及到的具体内容都可以去thinkphp官方网站下载核心包.

本文简要的介绍了如何从无到有的创建一个基于thinkphp框架的项目,并对项目进行相应的配置以及一些基本原理的介绍,在介绍的过程中涉及到的具体内容都可以去thinkphp官方网站下载核心包或者完全包、帮助文档进行学习.

那这里工程中我们可以直接下载核心包即可,可以将该包解压放置在任何位置,只要我们的项目能够访问得到,假设我们的项目在coomy文件夹下,统计目录放核心文件夹名为thinkphp.

入口文件

首次访问项目时访问的php文件,在开始项目之前,可以在任意位置创建一个php文件,在该文件中引入thinkphp核心文件,并自动生成项目目录,在浏览器中访问该入口文件后,弹出“Hello!欢迎使用thinkPHP!”的页面说明项目创建成功,下面的示例在coomy文件夹中创建create.php文件,并加入以下代码:

require '../thinkphp/ThinkPHP.php';

App::run();

这样在浏览器中访问http://localhost/coomy/create.php后,便会发现目录coomy中生成了以下文件夹:

|—-Common 公共函数区

|—-Conf       配置
|—-Lang       语言包
|—-Lib
      |—- Action 控制器
      |—- Model 模型
|—-Runtime 运行时缓存等
|—-Tpl 模板

控制器用来接收用户的输入,并调用模型和视图去完成用户的需求,模型则定义了一个网站的数据库相关业务逻辑,这是MVC框架的基本概念,这里不做过多介绍.

URL访问说明

http://localhost/index.php/ActionName/FunctionName

以上URL表示访问项目下的ActionName控制器下的FunctionName函数,那么接下来就只要创建控制器就行了.

创建控制器:

定义类文件—定义类方法,存放位置Lib/Action.

命名规则:

控制器名+Action.class.php

那我们直接在Lib/Action文件夹中创建一个CoomyAction.class.php文件,并打开文件创建控制器:

  1. class CoomyAction extends Action{ 
  2.  function index(){ 
  3.    echo "hello world!"
  4.  } 
  5.  function hello(){ 
  6.    echo "hello php"
  7.  } 

由此创建之后,假如我们想要输出”hello php”,则可以通过localhost/index.php/coomy/hello即可,如果想输出”hello world!”的话,则直接通过localhost/index.php/coomy即可,因为index函数是默认的.

注意:index.php必须是入口文件,命名可以随意

项目配置文件

thinkphp所有配置项的默认值都在其核心代码的Common/convention.php中,而如果我们想要自定义的话,则可以在我们的项目目录中找到Conf文件夹下的config.php,并在该文件中对我们的项目进行配置,如数据库连接配置:

  1. true, // 是否开启调试模式 
  2. 'DB_TYPE' => 'mysql'// 数据库类型 
  3. 'DB_HOST' => 'localhost'// 服务器地址 
  4. 'DB_NAME' => 'test'// 数据库名 
  5. 'DB_USER' => 'root'// 用户名 
  6. 'DB_PWD' => ''// 密码 
  7. 'DB_PORT' => 3306, // 端口 
  8. 'DB_PREFIX' => ''// 数据库表前缀 
  9. 'DB_SUFFIX' => ''// 数据库表后缀 
  10. 'DB_FIELDTYPE_CHECK' => false, // 是否进行字段类型检查 
  11. 'DB_FIELDS_CACHE' => true, // 启用字段缓存 
  12. 'DB_CHARSET' => 'utf8'// 数据库编码默认采用utf8 
  13. 'DB_DEPLOY_TYPE' => 0, // 数据库部署方式:0 集中式(单一服务器),1 分布式(主从服务器) 
  14. 'DB_RW_SEPARATE' => false, // 数据库读写是否分离 主从式有效 
  15.  ); 
  16. ?> 

以上便对我们的项目数据库进行了配置,有了这些配置之后,我们便可以在控制器中,对数据库进行添删改操作了,如:

  1. M(“tableName”)->add($data//向tableName表中插入data数据 
  2. M(“tableName”)->save($data//向tableName表中更新data数据 
  3. M(“tableName”)->select() //读取tableName表中的数据 
  4. M(“tableName”)->delete($id//从tableName表中删除id=$id的数据 

使用模板

说了半天,都是和数据库交互的,这一般都是后台的代码,那前台的代码写在哪里?当然,是在模板中,模板使一个页面的UI和响应处理程序分隔开来,使他们各行其道,这也正是MVC的精髓吧,在ThinkPHP中,模板与控制器是要一一对应的.

存放位置:模板存放于Tpl/default目录之下;

命名规则(对应):建立一个与控制器齐名的文件夹,在其中建立一个与控制器函数齐名的html文件;

localhost/Lib/Action/TestAction.class.php (function myTestFun..)

localhost/Tpl/test/mytestfun.html

使用模板:在控制器的任意函数中调用display()方法,即可通过url访问该函数显示模板,那进一步我们也就可以在模板函数中,对数据进行处理或者控制模板的输出了.

除此之外,thinkphp还内置了模板引擎,支持很多模板标签,如变量标签,我们可以在HTML文件的任意位置使用{$attriName}类似的标签,来从后台控制器中获取值,那在控制器中则需要指派该变量,最简单的方法则是通过属性指派:

1 $this->attriName = "value";

如此,模板引擎便会通过变量输出attriName,如此一来,模板负责显示变量,而控制器负责处理.我们便可以通过thinkphp开始我们的开发了.


推荐阅读
  • PHP 编程疑难解析与知识点汇总
    本文详细解答了 PHP 编程中的常见问题,并提供了丰富的代码示例和解决方案,帮助开发者更好地理解和应用 PHP 知识。 ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 在前两篇文章中,我们探讨了 ControllerDescriptor 和 ActionDescriptor 这两个描述对象,分别对应控制器和操作方法。本文将基于 MVC3 源码进一步分析 ParameterDescriptor,即用于描述 Action 方法参数的对象,并详细介绍其工作原理。 ... [详细]
  • MySQL索引详解与优化
    本文深入探讨了MySQL中的索引机制,包括索引的基本概念、优势与劣势、分类及其实现原理,并详细介绍了索引的使用场景和优化技巧。通过具体示例,帮助读者更好地理解和应用索引以提升数据库性能。 ... [详细]
  • 本文探讨了如何在 PHP 的 Eloquent ORM 中实现数据表之间的关联查询,并通过具体示例详细解释了如何将关联数据嵌入到查询结果中。这不仅提高了数据查询的效率,还简化了代码逻辑。 ... [详细]
  • Startup 类配置服务和应用的请求管道。Startup类ASP.NETCore应用使用 Startup 类,按照约定命名为 Startup。 Startup 类:可选择性地包括 ... [详细]
  • 深入解析 Apache Shiro 安全框架架构
    本文详细介绍了 Apache Shiro,一个强大且灵活的开源安全框架。Shiro 专注于简化身份验证、授权、会话管理和加密等复杂的安全操作,使开发者能够更轻松地保护应用程序。其核心目标是提供易于使用和理解的API,同时确保高度的安全性和灵活性。 ... [详细]
  • 本文探讨了dbforms框架的核心设计理念及其背后的技术原理,详细分析了该框架如何通过其独特的设计模式来简化开发流程,并为开发者提供了优化使用方法的建议。 ... [详细]
  • 本文探讨了在 ASP.NET MVC 5 中实现松耦合组件的方法。通过分离关注点,应用程序的各个组件可以更加独立且易于维护和测试。文中详细介绍了依赖项注入(DI)及其在实现松耦合中的作用。 ... [详细]
  • 深入理解ASP.NET MVC中的_ViewStart.cshtml
    本文介绍了_ViewStart.cshtml文件在ASP.NET MVC 3.0及以上版本中的作用和使用方法。该文件位于Views目录下,主要用于统一配置视图布局和其他全局设置。 ... [详细]
  • FineUI 是一款基于 jQuery 的专业级控件库,专为 ASP.NET WebForms 和 MVC 开发设计。它提供了丰富的用户界面组件,简化了复杂 Web 应用程序的开发过程。 ... [详细]
  • Struts与Spring框架的集成指南
    本文详细介绍了如何将Struts和Spring两个流行的Java Web开发框架进行整合,涵盖从环境配置到代码实现的具体步骤。 ... [详细]
  • 本文作者分享了在阿里巴巴获得实习offer的经历,包括五轮面试的详细内容和经验总结。其中四轮为技术面试,一轮为HR面试,涵盖了大量的Java技术和项目实践经验。 ... [详细]
  • Java项目分层架构设计与实践
    本文探讨了Java项目中应用分层的最佳实践,不仅介绍了常见的三层架构(Controller、Service、DAO),还深入分析了各层的职责划分及优化建议。通过合理的分层设计,可以提高代码的可维护性、扩展性和团队协作效率。 ... [详细]
  • 深入理解Vue.js:从入门到精通
    本文详细介绍了Vue.js的基础知识、安装方法、核心概念及实战案例,帮助开发者全面掌握这一流行的前端框架。 ... [详细]
author-avatar
手机用户2502887703
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有