m和php
⑴ php中,M方法到底什么意思
先解释你这段代码的意思:
$model=M("Column");
//创建一个Column模型,对应数据库中的Column表,如果有前缀就是前缀_Column表
$columninfo=$model->field("pid,image")->where("id=".$pid)->find();
//设定查询字段为pid和image,条件是id=$pid
//find()方法是找出一条数据
//$columninfof是一个数组返回值,起结构为array('pid'=>"***",'image'=>"***")
M在TP中是创建一个模型的函数,是自己写的函数,不是php的内置函数。
如果还有不明白欢迎追问
⑵ $m = M() php 是什么意思
可以解释为类和对象定义体系中的构造函数。比如
class M{}
$m=M();
⑶ php里面的一个问题,里函数经常有M 、I 这一类的代表什么来的呢
看你的代码应该用的是thinkphp框架,M和I是你用的框架中的方法,M代表把你的数据库模型实例化,I代表的是网络传值(get或者post方式传值),php没有这样的系统函数,只是你用的框架自定义的方法
⑷ 请问这段php代码中的 +$m是如何运行的
这是递归调用来,sum函数自的运行流程是这样的,它会先比较参数$n和$m的值,如果$m<=$n,它会返回$n,否则它就把$m减1后再次调用自身,这样逐层调用,直到$n不小于$m,然后它会逐层返回,并与每层的$m值相加。这实际上就是一个累加器。
打个比方,现在运行 sum(1, 3),那么
$n=1, $m=3
因为$m>$n,它会执行 return sum(1, 2) + 3
这样sum(1, 2)会再次运行
$n=1, $m=2
因为$m>$n,它会执行 return sum(1, 1) + 2
这样sum(1, 1)会再次运行
$n=1, $m=1
因为$m<=$n,它会执行 return 1
然后是 return 1 + 2
最后是 return 3 + 3
所以最后的结果是6,也就是说 sum(1, 3) = 1 + 2 + 3 = 6
同理 sum(1, 100) 就是计算 1 到 100 的累加和
⑸ php中if(!$m)什么意思
$m是个变百量,在php里面定义变量的时候必须在前面加上$符号。if是判断的意思。度
!是非的意思,是指如果专$m为true那么就取false,如果$m为false,那么就取true。
PHP可以与很多主流的数据库建立起连接,如MySQL、ODBC、Oracle等,PHP是利用编译的不同函数与这些数据库建立起连接的,PHPLIB就是常用的为一般事务提供的基库。
在PHP语言的使用中,可以分别使用面向过程和面向对象, 而且可以将PHP面向过程和面向对象两者一起混用,这是其它很多编程语言是做不到的。
(5)m和php扩展阅读:
(一)PHP的解释运行机制
在 PHP 中,所有的变量都是页面级的,无论是全局变量, 还是类的静态成员,都会在页面执行完毕后被清空。
(二)设计缺陷,缺少关注PHP被称作是不透明的语言,因为没有堆栈追踪,各种脆弱的输入。没有一个明确的设计哲学。早期的PHP受到Perl的影响,带有out参数的标准库又是有C语言引入,面向对象的部分又是从C++和Java学来的。
(三)对递归的不良支持
PHP并不擅长递归。它能容忍的递归函数的数量限制和其他语言比起来明显少。
⑹ thinkphp d和m的区别
您好,我来为您解答:
通俗点说,D就是实例化一个基于Model文件的Model,而M则是通过直接实例化Model方法(ThinkPHP基类)来动态的实例化一个Model对象,即使这个对应的Model文件不存在。
再通俗一点说就是,m实例化参数是数据库的表名.
d实例化的是你自己在model文件夹下面建立的模型文件.
希望我的回答对你有帮助。
⑺ 为什么PHP+mysql这么受推崇
一,L(linux)A(apache)M(mysql)P(php/perl/python)免费,适合大规范运用,如果百十来台机器都跑win server,那光操作系统和MSSQL的支出就很恐怖了
二,php容易入门,容易修改
三,LINUX/UNIX/BSD开源,编译出来的平台性能比较高,而且,不需要桌面,省不少内存
php可以连接任何数据库,比如adodb和php5内置的pdo,但是,因为像mssql不是开源的,没法最大程度优化,所以一般性的都是php+mysql,对数据库负载要求比较高的pgsql,对数据库负载要求低一点的sqlite或者干脆文本
⑻ PHP和MySQL Web开发 (原书第4版)中文版高清PDF下载 一般多大
我记得是70多M吧。
⑼ ThinkPHP中M方法与D方法有什么区别
ThinkPHP 中M方法和D方法都用于实例化一个模型类,M方法 用于高效实例化一个基础模型类,而 D方法 用于实例化一个用户定义模型类。
使用M方法
如果是如下情况,请考虑使用 M方法:
对数据表进行简单的 CURD 操作而无复杂的业务逻辑时
只有个别的表有较为复杂的业务逻辑时,将 M方法 与实例化 CommonModel 类进行结合使用
M方法 甚至可以简单看着就是对参数表名对应的数据表的操作:
$User=M('User');
使用D方法
如果是如下情况,请考虑使用 D方法:
需要使用 ThinkPHP 模型中一些高级功能如自动验证功能(create()方法中实现)、关联模型等
业务逻辑比较复杂,且涉及的表众多
将业务逻辑定义在了自定义的模型类里面(Lib/Model目录下),而想在操作中实现这些业务逻辑
另外 D方法 不支持跨项目调用,需要使用:
$User=D('User','Admin');//实例化Admin项目下面的User模型
$User=D('Admin.User');//启用了项目分组
提示
启用了项目分组后,Model 类并不必然对应着项目分组。多个项目组之间共有的模型类,统一放在 Model 目录下,可以直接使用D('ModelName') 实例化。而 D('User.UserInfo') 并不表示 User 一定是一个项目分组,也可以仅仅是对 Model 下文件的一个分类目录,D('User.UserInfo') 实例化的是 User 目录下的 UserInfo 模型类。
总结
M方法 和 D方法 都可以在模型类文件不存在的情况下直接使用的,但显然 M方法 更高效;但要使用模型类里面业务逻辑,就必须使用 D方法。
一个比较形象的比喻就是:M方法 就如一台刚装好操作系统的电脑,只能使用一些基本功能;而 D方法 就如在装好的系统上再安装了一些如 Office、QQ 等应用软件,功能更加强大,同时整个电脑运行速度也变慢了。
以上是对 M方法和D方法区别的一些总结,M方法 和 D方法 要根据实际情况来具体选择。