php语言学习_php 语言特性学习 (一)

1.类的写法

class MyClass {

private $id = 19;

public function __construct() {

print("开始构造");

return ;

}

public function getId() {

return $this->id;

}

public function __destruct() {

print("开始析构");

}

}

$class = new MyClass();

echo $class->getId();

2.接口写法

interface Display {

function display();

}

class hah implements Display {

function display() {

print("jajaj");

}

}

$hah = new hah();

$hah->display();

3.静态成员 静态方法访问 不需要实例化 引用类调用即可

class MyClass {

const success = 'jajaja';

public static function getValue(){

echo self::success;

}

}

echo MyClass::success;

echo MyClass::getValue();

//不用 $class = new MyClass();

4.单例模式 只被实例化一次 防止多次实例消耗资源 例如pdo 连接数据库

class Singleton {

private static $instance = null;

public static function getInstance() {

if(self::$instance == null) {

self::$instance = new Singleton();

var_dump('单例模式');

}

return self::$instance;

}

}

Singleton::getInstance();

5.抽象类以及继承

把类声明为抽象类可以防止被实例化,但是可以继承一个抽象类,并实现其中的抽象方法。包含抽象方法的类必须声明为抽象类

abstract class MyBaseClass {

abstract function display();

}

class haha extends MyBaseClass {

public function display() {

echo '你就是我的唯一';

}

}

$cls = new haha();

$cls->display();

6.函数参数类型判定

对象才解析,字符串报错 如下

class test {

}

function expectClass (test $obj) {

echo 'Kakak'.E_ALL;

}

$cl = new test();

$tt = 'asdsa';

expectClass($tt);

7.try catch 报异常

需要继承excettion类

class SqlException extends Exception {

public $problem;

function __construct($problem) {

$this->problem = $problem;

}

}

try {

throw new SqlException('could not connect database');

} catch(SqlException $e) {

print('Caught an SqlException with problem '.$e->problem);

}

8.&应用,遍历数组 改值

php4中不能遍历一个数组同时更改值,php5通过foreach 参数上加上&(引用)符号,在遍历数组的时候跟改值

$arr = array(

'1'=>'hello',

'2'=>'hel',

'3'=>'haha'

);

foreach ($arr as & $val) {

if($val=='hel') {

$val = 'hello hah';

}

}

echo '

';

var_dump($arr);

exit;

9.给引用参数设置默认值

php4 只能给传递值得参数默认值,php5可以给传递引用的参数设置默认值

function test(&$arg = null) {

if($arg === null) {

print '$arg is empty';

}

else {

echo "$arg";

}

}

$ff = '213';

test($ff);

10.短标记

php 语法 一般而言

配置php.ini中的short_open_tag 之后可以使用

?>

标签书写代码

一般不建议开启该功能故而默认关闭,需要手动开启才能用

11.php注释

1.第一种 c注释的风格 可以跨越多行,直到标记结束

/**

* 哈哈哈

*/

2.c++ 方式

// 哈哈哈哈

3.shell 方式

# hahah

12.变量

变量不必声明,类型也不用声明

$做前缀,变量的名字可以用一个字母(A~Z,a~z)或者_(下划线)开始。后面可以使用任意字符和下划线

例如:

$abc

$_aa

$a123

非法的:

$123

$*ab

变量在函数中创建的,它的生命周期与函数一样,在主脚本中生成的变量(不在函数中)不是全局变量,不能在函数中使用它,但是可以用$GLOBALS[]来访问(使用变量的名字作为字符串的关键字)

**

给程序员一个鼓励呗!

**

微信

支付宝

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值