1.常用函数使用:
<?php
define('BASEDIR',__DIR__);
include BASEDIR . '/IMooc/Loader.php';
spl_autoload_register('\\IMooc\\Loader::autoload');
// 栈
$stack = new SplStack();
$stack->push('data1');
$stack->push('data2');
var_dump($stack);
echo $stack->pop();
echo '<br/>';
echo $stack->pop();
//队列
echo '<br/>******* 队列 *****<br/>';
$queue = new SplQueue();
$queue->enqueue('data1');
$queue->enqueue('data2');
var_dump($queue);
echo $queue->dequeue();
echo "<br/>";
echo $queue->dequeue();
// 堆
echo "<br/>****** 堆 ********<br/>";
$heap = new SplMinHeap();
$heap->insert('data1');
$heap->insert('data2');
var_dump($heap);
echo $heap->extract();
echo '<br/>';
echo $heap->extract();
//固定长度的数组
$array = new SplFixedArray(10);
$array[0] = 123;
$array[9] = 1234;
var_dump($array);
2. php 链式操作的实现
<?php
namespace IMooc;
class Database
{
function where($where)
{
return $this; //链式操作的核心就是在每一个函数后面返回 $this
}
function order($order)
{
return $this;
}
function limit($limit)
{
return $this;
}
}
<?php define('BASEDIR',__DIR__); include BASEDIR . '/IMooc/Loader.php'; spl_autoload_register('\\IMooc\\Loader::autoload'); /*//传统方法 $db = new IMooc\Database(); $db->where('id=1'); $db->where('name=2'); $db->order('id desc'); $db->limit(10);*/ //链式操作 $db = new IMooc\Database(); $db->where('id=1')->where('name=2')->order('id desc')->limit(10);