ThinkPHP3.2.3相关笔记

Page.class.php中首先定义命名空间:namespace Component;
然后在相应控制器中实例化:$page = new \Component\Page();//引入自定义

类文件Page.class.php
$my= new \Component\My();
$info = $my->unlimitedForLevel($info);

R("Goods/getmoney");//跨控制器调用

R("Home/Index/getname");//跨分组调用

R("book://Home/Index/getother");//跨项目调用

/**
* <a href="{:U(‘Admin/Login/index‘)}"/> U函数用法
*/

define ("ADMIN_CSS_URL",SITE_URL."Admin/public/css/");常量名必须为大

写,不能写成define ("Admin_CSS_URL",SITE_URL."Admin/public/css/")

添加数据:
使用add()
$goods->add();
返回最后一条数据主键ID
///////////////////////////////////////////////////////////
<foreach name="rinfo" item="v" key="k">
<option <eq name="auth_info.auth_pid" value="$k"> selected

="selected" </eq> value=‘{$k}‘>{$v}</option>
<option value=‘{$k}‘>{$v}</option><!-- 此处循环的是一维

数组 -->
</foreach>
//////////////////////////////////////////////////////////
$manager = D(‘Manager‘);//实例化think_manager数据表对象
$manager->create();//创建数据对象
$manager->mg_time=time();// 增加新的字段数据
$z = $manager->add();
///////////////////////////////////////////////////////////
收集表单数据并添加
function add(){
//利用数组方式添加数据
$goods=D(‘goods‘);

if(!empty($_POST)){
//print_r($_POST);
$goods->create();//收集表单信息
$z = $goods->add();
if($z){
//展示提示页面,并跳转
$this->success(‘添加商品成功‘,U(‘Goods/showlist‘));
}else{
$this-error(‘添加商品失败‘,U(‘Goods/add‘));
}
}else{
$this->display();
}

}

修改数据:save(); 返回受影响的记录条数
$goods =M(‘goods‘);
$arr = array(
‘goods_id‘=>‘100‘,
‘goods_name‘ => ‘lenovo‘,
‘goods_price‘=> ‘1000‘
);

$goods->where(‘goods_id >30‘)->save($arr);

删除数据 :delete();
$goods->delete(30);删除主键值为30的数据
$goods->delete(‘28,29,30’);删除主键值为28,29,30的数据
$goods->where(‘id>30‘)->delete();
公司里不会真的删除,逻辑删除,将某字段设为1,表示被删除了

执行原生sql语句
查询 $goods->query($sql);
添加、修改、删除 $goods->execute($sql);

<foreach name ="info" item ="vo"></foreach>

U函数传入变量参数:<a href="{:U(‘Admin/Goods/upd‘)}?goods_id=

{$vo.goods_id}">修改</a>

function verify(){ //生成验证码//生成验证码
ob_clean();//ob_clean这个函数的作用:
//用来丢弃输出缓冲区中的内容,如果你的网站有许多生成的图片类文件,那

么想要访问正确,就要经常清除缓冲区
$config = array(
‘fontSize‘ => 16, // 验证码字体大小
‘imageH‘ =>30,
‘imageW‘ =>100,
‘length‘ => 4, // 验证码位数
‘useNoise‘ => false, // 关闭验证码杂点
);
$Verify = new \Think\Verify($config);
$Verify->entry();//生成验证码
//$this->display();

}
$verify->check();

模型类的命名规则是除去表前缀的数据表名称,采用驼峰法命名,并且首字母

大写,然后加上模型类的后缀定义Model 详细讲解:

http://blog.csdn.net/jar_java/article/details/9245543

模板中调用session中的信息 {$Think.session.mg_username}
/////////////////////////////////////////////////////////////////////

/
<foreach name="info" item="v">
<tr id="product1">
<td>{$v.mg_id}</td>
<td><a href="#">{$v.mg_name}</a></td>

<td>{$rinfo[$v[‘mg_role_id‘]]}</td> //标签中

嵌套数组中的字段信息

<td><a href=‘__CONTROLLER__/upd/mg_id/

{$v.mg_id}‘>修改</a></td>
</tr>
</foreach>

、、、、、、、、、、、、、、、、、、、、、、、、、
__SELF__ 当前页面
__MODULE__ 当前模块名
__CONTROLLER__ 当前控制器名
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
模板中引入文件:<include file= "./HOME/public/head.html" /> 最好采用

绝对路径方式引入
比较标签用法 eq
<eq name="vv.auth_pid" value="$v.auth_id">
‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘

‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘‘
$n_auth_info=$auth->where(‘auth_id=‘.$auth->auth_pid)->find();
$auth_info=$auth->where(‘auth_id=‘.$auth_id)-

>find();//此处需要重新创建数据对象,
//否则默认修改 $n_auth_info=$auth->where

(‘auth_id=‘.$auth->auth_pid)->find();这条语句创建的对象,导致更新的是

父级权限的信息
/////////////////////////////////////////////
模板中显示序号:控制器中: $this -> assign(‘xuhao‘, ‘1‘); 模板中:

<td>{$xuhao++}</td>
\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
调用公共头部或脚部文件:
在/Application/Home 目录下创建目录 - Widget

\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\
\\\\
利用多层控制器可实现网站标题、地址、电话等基本信息的显示
http://www.thinkphp.cn/topic/1826.html
在Controller的同级目录建立Widget文件夹,里面新建如

HeadWidget.class.php的文件,里面代码为:
namespace HOME\Widget;
use Think\Controller;
class HeadWidget extends Controller{
public function head($data){
$info=M(‘newsbase‘);
$info = $info->field(‘title‘)->select();
$name="我是张迪:".$data;
return $name;
}
}
模板页面中使用:{:R(‘Head/head‘,array(‘电脑‘),‘Widget‘)}
输出结果:我是张迪:电脑
=============================================
数组情况:
HeadWidget.class.php的文件,里面代码为:
namespace HOME\Widget;
use Think\Controller;
class HeadWidget extends Controller{
public function head($data){
$info=M(‘newsbase‘);
$info=array(‘新闻列表‘,‘关于我们‘,‘企业风采‘);

$this->assign(‘info‘,$info);
$this->display(‘Head:head‘);//此路径为

Home/View/Head/head.html(挂件模板,并不是网页头部模板)
}
}
、、、、、、、、、、、、、、、、、、、
Home/View/Head/head.html中的代码为:
<ul style="list-style: none;">
<foreach name="info" item="title">
<li>{$title}</li>
</foreach>
</ul>
、、、、、、、、、、、、、、、、、、
网页公共头部模板文件/Application/public/Home/head.html中的代码:{:R

(‘Head/head‘,‘‘,‘Widget‘)}
页面效果为:
新闻列表
关于我们
企业风采
加入收藏

时间: 2024-11-01 02:28:20

ThinkPHP3.2.3相关笔记的相关文章

Android在线升级相关笔记一(解析服务器版本与当前版本比较)

大概流程:Android客户端去访问服务器上的封装了版本号等信息的xml文件,对服务器上的版本和当前版本进行比较, 如果低于服务器的版本,则下载服务器上的新版软件,进行安装替换,完成升级. 一.首先用tomcat搭建服务器,用于开发测试. 下载tomcat请参考:http://blog.csdn.net/only_tan/article/details/25110625 1.在tomcat中新建自己的项目: \apache-tomcat-6.0.39\webapps 目录下新建自己的项目文件夹,

Linux 下面java编译环境相关笔记

1.如果自己编写的java文件依赖于很多第三方库(比如adir1和dir2下面都有很多jar包),加入自己的文件名叫foo.java那么可以用如下指令编译 javac -Djava.ext.dirs=dir1;dir2 foo.java 2.打包一个可执行的jar包的过程 a.写一个完整的java文件HelloWorld.java b.执行命令:javac HelloWorld.java生成HelloWorld.class c.执行命令 jar cvf HelloWorld.jar HelloW

软件安装相关笔记

程序的安装 rpm :redhat packagemanager早期 rpm is package manager现在 rpm:/var/lib/rpm数据库 rpm命名规则: 主包:bind-version-el5.i386.rpm 子包:bind-libs-version-el5.i386.rpm 格式: name-version-release.arch.rpm bind-major.minor.release.arch.rpm 主版本号:重大改进 次版本好:某个子功能发生重大改变 发行号

shell脚本相关笔记

书写一个shell脚本并使之执行的步骤: 1. 打开一个文件,以 #! bin/bash作为开头 2.在文件中写入一些正确可执行的shell语句 3.保存文件 4.更改文件权限,执行文件 一些小技巧: 如果想在系统中添加自己的命令,比如执行自己建好的shell脚本语句这样一条命令 实例: 1.创建文件cd.sh 内容为: #! bin/bash cd xxx/yyy/zzz 2.保存文件 3.执行文件./cd.sh 现在发现并没有能够打开我们想要打开的目录并进去. 原因是shell还有分父she

神经网络与深度学习相关笔记

说明: 本文是关于http://neuralnetworksanddeeplearning.com/的相关笔记 问题一:神经元在错误的值上饱和导致学习速率的下降 解决: 1.输出层: 因使用二次代价函数时,学习在神经元犯了明显错误时却比学习快接近真实值时慢, 可以使用交叉熵代价函数 使得在神经元犯明显错误时学习得更快 注: 输出层:具有交叉熵代价的S型(sigmoid)输出层或具有对数似然代价的柔性最大值(softmax)输出层 后者更加适用于那些需要将输出激活值解释为概率的场景 2.隐藏层:

05 神经网络与深度学习相关笔记

说明: 本文主要是关于http://neuralnetworksanddeeplearning.com/的相关笔记 问题一:神经元在错误的值上饱和导致学习速率的下降 解决: 1.输出层: 因使用二次代价函数时,学习在神经元犯了明显错误时却比学习快接近真实值时慢, 可以使用交叉熵代价函数 使得在神经元犯明显错误时学习得更快 注: 输出层:具有交叉熵代价的S型(sigmoid)输出层或具有对数似然代价的柔性最大值(softmax)输出层 后者更加适用于那些需要将输出激活值解释为概率的场景 2.隐藏层

ThinkPHP3.2.3学习笔记1---控制器

ThinkPHP是为了简化企业级应用开发和敏捷WEB应用开发而诞生的.最早诞生于2006年初,2007年元旦正式更名为ThinkPHP,并且遵循Apache2开源协议发布.ThinkPHP从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,也注重易用性.并且拥有众多原创功能和特性,在社区团队的积极参与下,在易用性.扩展性和性能方面不断优化和改进. ThinkPHP是一个快速.兼容而且简单的轻量级国产PHP开发框架,诞生于2006年初,原名FCS,2007年元旦正式更名为Th

ViewPage相关笔记

只有步骤,备用 ViewPage+PagerAdapter 布局控件 在activity的布局文件中添加控件,控件标记名称为: android.support.v4.view.ViewPager 有两个子控件: android.support.v4.view.PagerTitleStrip(会在tab标题的上面,但是不知道怎么随着页面的左右滚动切换,所以暂时不知道如何使用这个控件) android.support.v4.view.PagerTabStrip(每个tab页面的标题,会随着页面的左右

linux 下安装mysql相关笔记

安装mysqlyum -y install mysql-serveryum -y install mysql mysql-devel 都显示完成就可以了 查看mysql的版本号rpm -qi mysql-server 数据库目录/var/lib/mysql/配置文件/usr/share /mysql(mysql.server命令及配置文件)相关命令/usr/bin(mysqladmin mysqldump等命令)启动脚本/etc/rc.d/init.d/(启动脚本文件mysql的目录) 启动my