您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 高中教育 > THINKPHP个人总结学习方法
本文档适合了解点框架的人群学习!下载入口文件:define('APP_DEBUG',true);#开发是建议大家设为调试模式define('THINK_PATH',dirname(__FILE__).'/ThinkPHP/');#设置你的框架目录地址define('APP_NAME','home');#设置你的项目名称define('APP_PATH',dirname($_SERVER['SCRIPT_FILENAME']).'/'.APP_NAME.'/');#设置你的项目地址require_onceTHINK_PATH.'ThinkPHP.php';#加载框架核心文件项目目录介绍:home--Common你的函数库---Conf你的配置文件---Lang你的语言包文件通常我们使用数组方式来实现国际化---Lib你项目逻辑实现文件目录在该目录下面,包含你的控制器,你的模型,你的第三方当然你也可以将第三方的放置在ThinkPHP框架中我们通常这么做------Action你的控制器------Model你的模型------widget你的组件RuntimeThinkphp为你项目编译的文件在这里---Tpl你模板在这里Public你的公告资料目录---css---js---imagesUploads你的上传文件目录ThinkPHP框架目录做个简单的新闻发布:创建你的数据库:createdatabasecms;选择你的数据库usecms;创建你的表createtablethink_news(idintprimarykeyauto_increment,#idtitlevarchar(120)notnull,#标题contenttextnotnull,#内容sendtimedatetimenotnull,#发送时间authorvarchar(30)notnull,#作者fromtovarchar(30)notnull,#来自hitsintnotnulldefault0#点击量)engine=myisamcharset=utf8;插入测试数据mysqlinsertintothink_newsvalues(null,'myonenews','helloword',now(),'admin','admin',default),(null,'my2news','hellowordsdddddddddddd0',now(),'admin','admin',default);链接数据库:配置你的数据库://数据库配置信息'DB_TYPE'='mysql',//数据库类型'DB_HOST'='localhost',//服务器地址'DB_NAME'='cms',//数据库名'DB_USER'='root',//用户名'DB_PWD'='test123',//密码'DB_PORT'=3306,//端口'DB_PREFIX'='think_',//数据库表前缀,目的:区分多个数据库的表//模板相关配置'TMPL_PARSE_STRING'=array('__PUBLIC__'='/Public',//更改默认的__PUBLIC__替换规则'__JS__'='/Public/js',//增加新的JS类库路径替换规则'__CSS__'='/Public/css',//增加新的JS类库路径替换规则'__IMAGES__'='/Public/images',//增加新的JS类库路径替换规则'__UPLOAD__'='/Uploads',//增加新的上传路径替换规则),编写你的模型:编写模型的文件命名规则:表名Model.php首字母大写,驼峰命名法classNewsModelextendsModel{//定义你的字段protected$fields=array('id','title','content','sendtime','author','fromto','hits');}编写你的控制器:classIndexActionextendsAction{publicfunctionindex(){//链接数据库$News=D('News');//实例化模型类NewsModel$id=$this-_param('id');//获取你的参数$data=$News-where('id='.$id)-find();//查询返回数据$this-assign('newsbody',$data);//装载变量$this-display('default:Index:index');//发送到default/Index/index.html中}}访问你的url路由:编写你的视图:Tpl/deault/Index/index.html!DOCTYPEhtmlhtmlheadtitle/titlecsshref=__CSS__/main.css//headbodydivclass=contenth2pclass=title{$newsbody.title}/p/h2pclass=title作者:span{$newsbody.author}/span发表时间:span{$newsbody.sendtime}/span来源:span{$newsbody.fromto}/span点击量:span{$newsbody.hits}/span/phrstyle=border:1pxsolid#000000;divclass=body{$newsbody.content}/div/div/body/html名词解释:ORM:O-object(对象)R-Relation(关系)M-Model(模型)-简单理解为:提供了一套对象与关系型数据库连接的一种映射中间件。我们在操作对象的属性也即是在操作数据库表中的字段列。它的主要目的在对数据库操作的一种持久化。使程序员最大限度的离开sql语句,通过对象模型来操纵你的数据库。ORM对性能的影响是极其有限的.其他名词参见手册------------------------------------------------------------------------------------------------------------------------------紧接着上一天,来实现curd.?php//本类由系统自动生成,仅供测试用途classIndexActionextendsAction{publicfunctionindex(){$this-display('default:Index:index');#导航首页}publicfunctionnewsList(){$Model=M('News');$newsList=$Model-field('id,title')-select();$this-assign('newsList',$newsList);$this-display('default:Index:list');#显示所有新闻的标题}publicfunctionshow(){//链接数据库$News=D('News');//实例化模型类NewsModel$id=$this-_param('id');$data=$News-where('id='.$id)-find();$this-assign('newsbody',$data);$this-display('default:Index:show');#依据id显示具体的新闻内容}publicfunctionaddNews(){$this-display('default:Index:addNews');#添加新闻模板}}Tpl/default/Index/index.html导航模板divclass=contentahref={:U('Index/newsList')}显示新闻/a!--{:U('Index/newsList')}在模板中使用U方法实现你的url--ahref=发布新闻/aahref=管理新闻/a/divTpl/default/Index/list.html新闻列表模板ulvolistname=newsListid=voliahref={:U('Index/show',array('id'=$vo[id]))}id={$vo.id}{$vo.title}/a/li/volist/ulTpl/deautl/Index/show.html(上面有案例)新闻显示模板Tpl/default/Index/addNews.html添加新闻模板带编辑器和时间插件!DOCTYPEhtmlhtmlheadtitle/titlecsshref=__CSS__/main.css/csshref=__PLUGS__/kindeditor/themes/default/default.css//headbodyformaction={:U('AddNews/index')}method=postname=from1#数据提交到添加新闻类的index方法中plable标题:/lableinputtype=textname=titlesize=20//pplable作者:/lableinputtype=textname='author'size=20//pplable时间:/lableinputclass=Wdatetype=textname='sendtime'onClick=WdatePicker({dateFmt:'yyyy/MM/dd/HH:mm:ss'})//pplable来源:/lableinputtype=textname='fromto'size=20//pptextareaname=contentstyle=width:600px;height:300px;visibility:hidden;请发布你的内容:/textarea/ppinputtype=submitname=subvalue=提交//p/formjshref=__PLUGS__/My97DatePicker/WdatePicker.js/jshref=__PLUGS__/kindeditor/kindeditor-min.js/jshref=__PLUGS__/kindeditor/lang/zh_CN.js/scriptvareditor;KindEditor.ready(function(K){editor=K.create('textarea[name=content]',{allowFileManager:true});});/script/body/html--------------------classAddNewsActionextendsAction{publicfunction_before_index(){#在index之前执行该方法//在提交之前先自动验证if($this-isPost()){header(content-type:text/html;charset=utf8);$News=D(News);$validate=array(array('title','require','标题必须必须填写!',1),array('author','require','作者必须填写!',1),array('fromto','require','来源必须现!',1),)
本文标题:THINKPHP个人总结学习方法
链接地址:https://www.777doc.com/doc-5143858 .html