深入理解乐观锁与悲观锁

数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。 乐观并发控制(乐观锁)和悲观并发控制(悲观锁)是并发控制主要采用的技术手段。 无论是悲观锁还是乐观锁,都是人们定义出来的概念,可以认为是一种思想。其实不...

2018-09-05 14:36:33

阅读数 36

评论数 0

数据库的锁机制

并发控制 数据库管理系统(DBMS)中的并发控制的任务是确保在多个事务同时存取数据库中同一数据时不破坏事务的隔离性和统一性以及数据库的统一性。下面举例说明并发操作带来的数据不一致性问题: 现有两处火车票售票点,同时读取某一趟列车车票数据库中车票余额为 X。两处售票点同时卖出一张车票,同时修改余...

2018-09-04 09:46:23

阅读数 58

评论数 0

php的错误级别

error_reporting() 用于设置 PHP 的报错级别并返回当前级别。(PHP 4, PHP 5) 函数能够在运行时设置 error_reporting 指令。 PHP 有诸多错误级别,使用该函数可以设置在脚本运行时的级别。 如果没有设置可选参数 level, error_rep...

2018-08-31 17:36:33

阅读数 135

评论数 0

PHP错误与异常处理

没有特殊说明:本例 PHP Version < 7 说起PHP异常处理,大家首先会想到try-catch,那好,我们先看一段程序吧:有一个test.php文件,有一段简单的PHP程序,内容如下,然后命令行执行:php test.php &amp...

2018-08-31 17:33:19

阅读数 59

评论数 0

PHP面向对象_对象克隆clone和魔术方法__clone()

1.对象克隆 clone   PHP4面向对象功能一个很大的缺点,是将对象视为另一种数据类型,这使得很多常见的OOP方法无法使用,如设计模式。这些方法依赖于将对象作为引用传递给其他类方法,而不是作为值传递,而按值传递却是PHP的默认做法。幸好,PHP5解决了这个问题,现在所有对象在默认情况下都被...

2018-08-21 18:41:27

阅读数 27

评论数 0

Php面向对象中static静态属性和静态方法的调用

Php面向对象中static静态属性和静态方法的调用 结论: (1)静态属性不需要实例化即可调用。因为静态属性存放的位置是在类里,调用方法为"类名::属性名",不能通过 “object->属性 调用”; (2)静态方法不需要实例化即可调...

2018-07-30 15:41:28

阅读数 155

评论数 0

IoC 控制反转

  IoC是什么 Ioc—Inversion of Control,即“控制反转”,不是什么技术,而是一种设计思想。在Java开发中,Ioc意味着将你设计好的对象交给容器控制,而不是传统的在你的对象内部直接控制。如何理解好Ioc呢?理解好Ioc的关键是要明确“谁控制谁,控制什么,为何是反转(有反...

2018-07-26 17:56:22

阅读数 39

评论数 0

Yii框架下的where条件查询

条件查询 $customers = Customer::find()->where($cond)->all(); $cond就是我们所谓的条件,条件的写法也根据查询数据的不同存在差异,那么如何用yii2的方式来写查询条件呢? [[简单条件]]...

2018-06-15 14:01:10

阅读数 327

评论数 0

PHP闭包 function() use(){}作用

php的闭包(Closure)也就是匿名函数。是PHP5.3引入的。 闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量。 $func =function() use ($param) { } 闭包的几个作用: 减少foreach的循环的代码 //...

2018-06-09 19:38:16

阅读数 1371

评论数 1

ArrayAccess(数组式访问)接口

提供像访问数组一样访问对象的能力的接口。 ArrayAccess { /* 方法 */ abstract public boolean offsetExists ( mixed $offset ) abstract public mixed offsetGet ( mixed $offset )...

2018-06-09 18:59:27

阅读数 99

评论数 0

iterable 迭代器

iterable 迭代器 Traversable Traversable用于检测一个类是否可以使用 foreach 进行遍历,这是一个无法在 PHP 脚本中实现的内部引擎接口,实际编程中我们使用Iterator接口或者IteratorAggregate接口来实现遍历。 Traversab...

2018-06-09 16:48:45

阅读数 114

评论数 0

php中stdClass

stdClass是一个内置类,它没有成员变量,也没有成员方法的一个类,new一个stdClass就是实例化了一个『空』对象,它本身没什么意义,但是用stdClass定义有什么好处呢? 很多地方使用stdClass来定义一个对象(而通常是用数组的方式),然后使用get_object_vars来把定...

2018-06-09 15:55:27

阅读数 194

评论数 0

ArrayObject的使用

ArrayObject是将数组转换为数组对象。 代码示例 <?php //打印全部数组元素 $array =array('1'=>'one', '2'=>'two', '3'=&am...

2018-06-09 15:31:25

阅读数 336

评论数 0

php闭包(匿名函数)中的use用法

php的闭包(Closure)也就是匿名函数。是PHP5.3引入的。 闭包的语法很简单,需要注意的关键字就只有use,use意思是连接闭包和外界变量。 匿名函数中的use,其作用就是从父作用域继承变量。 下例是最常见的用法,如果不使用use,匿名函数中将找不到变量$msg $msg = [...

2018-06-09 15:10:26

阅读数 1780

评论数 0

PHP中Trait详解及其应用

从PHP的5.4.0版本开始,PHP提供了一种全新的代码复用的概念,那就是Trait。Trait其字面意思是”特性”、”特点”,我们可以理解为,使用Trait关键字,可以为PHP中的类添加新的特性。 熟悉面向对象的都知道,软件开发中常用的代码复用有继承和多态两种方式。在PHP中,只能实现单继承。...

2018-05-05 17:46:47

阅读数 166

评论数 0

is_callable()与method_exists()函数

我们经常能够看到以下这种用法,它用来检查一个对象里的方法是否存在 <?php if (method_exists($object, 'SomeMethod')) { $object->SomeMethod($this, TRUE); }...

2018-05-02 21:14:39

阅读数 103

评论数 0

Yii2中多表关联查询(hasOne、hasMany、join、joinwith)

表结构 现在有客户表、订单表、图书表、作者表, 客户表Customer (id customer_name) 订单表Order (id order_name customer_id book_id) 图书表 (i...

2018-04-29 10:42:22

阅读数 242

评论数 0

PHP高级——抽象类与接口

一、 抽象类abstract class 抽象类是指在 class 前加了 abstract 关键字且存在抽象方法(在类方法 function 关键字前加了 abstract 关键字)的类。 抽象类不能被直接实例化。抽象类中只定义(或部分实现)子类需要的方法。子类可以通过继承抽象类并通过实现抽...

2018-04-28 10:16:42

阅读数 51

评论数 0

Countable接口

继承Countable接口的可被用于count() 函数。 class CountMe { protected $_myCount = 3; public function count() { return $this->_myCount; } } ...

2018-04-27 22:00:36

阅读数 78

评论数 0

MYSQL 表连接 ON AND 和ON WHERE 的区别

在使用left join时,on and和on where条件的区别如下: 1、on条件是在生成临时表时使用的条件,它不管on中的条件是否为真,都会返回左边表中的记录。 2、where条件是在临时表生成好后,再对临时表进行过滤的条件。这时已经没有left join的含义(必须返回左边表的记录)...

2018-04-27 15:36:46

阅读数 175

评论数 0

提示
确定要删除当前文章?
取消 删除
关闭
关闭