php中全局变量global的使用

简介

即使开发一个新的大型PHP程序,你也不可避免的要使用到全局数据,因为有些数据是需要用到你的代码的不同部分的。一些常见的全局数据有:程序设定类、数 据库连接类、用户资料等等。有很多方法能够使这些数据成为全局数据,其中最常用的就是使用“global”关键字申明,稍后在文章中我们会具体的讲解到。
使用“global”关键字来申明全局数据的唯一缺点就是它事实上是一种非常差的编程方式,而且经常在其后导致程序中出现更大的问题,因为全局数据把你 代码中原本单独的代码段都联系在一起了,这样的后果就是如果你改变其中的某一部分代码,可能就会导致其他部分出错。所以如果你的代码中有很多全局的变量, 那么你的整个程序必然是难以维护的。
本文将展示如何通过不同的技术或者设计模式来防止这种全局变量问题。当然,首先让我们看看如何使用“global”关键字来进行全局数据以及它是如何工作的。

Read More

实例化php类的时候如何传参

当我们实例化一个php类的时候,要怎么传递参数呢?这取决于该类的构造方法。

例:

person.class.php

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php  
class person{
var $name;
var $color;
var $sex;
var $age;
function __construct($name,$age='',$sex='boy'){
$this->name = $name;
$this->age = $age;
$this->sex = $sex;
$this->color = 'yello';
}
function eat(){
echo $this->name.'要吃饭';
}
function xinxi(){
echo $this->name.' is '.$this->sex.' and age is '.$this->age.' fuse is '.$this->color;
}
function zuoyong(){
//类似于这样的内部调用,相当于把eat()的代码引入到zuoyong()里面,而不是跳转到eat()里面继续执行
//如果是http://localhost/zuoyong?food=xigua这样的url来调用zuoyong()
//那么eat()中可直接通过$_GET['food']获取url参数,因为全局变量可在函数内部使用
$this->eat();
}
}
?>

Read More

DEDE如何开启邮箱验证并设定发送内容

一、开启邮箱验证

(1)打开织梦系统首页,进入系统—–系统基本参数—–核心设置,然后找到网站发信Email,在里面填入你发出验证邮件的邮箱地址,再找到SMTP服务器,填入smtp.163.com(网易163)或者smtp.qq.com(QQ),或者其他。找到SMTP服务器的用户邮箱,填入你的邮箱地址,找到SMTP服务器的用户帐号和用户密码,分别填入你邮箱的用户名和密码。smtp服务器端口默认为25,所以不用修改。
(2)接下来就需要开启会员功能和邮箱验证功能。进入系统—-系统基本参数—-会员设置,找到是否开启会员,选择是;找到会员使用权限开通状态(-10 邮件验证 -1 手工审核, 0 没限制),选择-10。到此为止,会员邮箱验证功能开启。

Read More

empty,isset,is_null比较

做php开发时候,想必在使用:empty,isset,is_null 这几个函数时候,遇到一些问题。甚至给自己的程序带来一些安全隐患的bug。很多时候,对于isset,empty都认为差不多。因此开发时候,就没有注意,一段作为流程判断时候,就出现bug问题了。

Read More