当前位置: 编程技术>php
本页文章导读:
▪CodeIgniter 自定义函数 helper 加载顺序 CI的helper的加载顺序是:在$autoload['helper'] = array();这里可以加载 自己的全局的自定义函数文件 如:myfunc_helper.php 放到application\helpers文件夹下 也可以加载框架自带helper但是不建议这样做 需要的时.........
▪Yii 自定义 登录 过滤器 <?php/** * IsLoginFilter class file * * 应用于需要判断登录的actions,若没有登录就直接跳转到登录action * * @author hail * @package application.filters */class IsLoginFilter extends CFilter{ /** * 登录action所在cont.........
▪PHP面向对象练习1 题目:编写一个函数(以面向对象的方式开发),从网页输入一个整数打印出对应的金子塔。参考代码:显示页面:1、pview.php<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtm.........
[1]CodeIgniter 自定义函数 helper 加载顺序
CI的helper的加载顺序是:
在$autoload['helper'] = array();这里可以加载 自己的全局的自定义函数文件 如:myfunc_helper.php 放到application\helpers文件夹下 也可以加载框架自带helper
但是不建议这样做 需要的时候再加载 这也是CI框架的灵魂所在
所谓的"扩展重写" 其实是利用判断是否函数存在来实现的 所以加载时 是先加载自定义的helper 再加载框架的 判断已存在就pass掉框架的同名函数
但是如果你在$autoload['helper']里面已经自动加载了你要扩展重写的helper文件 那么你就不能再同名函数重写了 只能"扩展"
在扩展框架helper时 命名一定要在文件名前加上MY_(即$config['subclass_prefix'] = 'MY_';定义的可修改)
即文件名为MY_array_helper.php 加载时用$this->load->helper('array');
如果不是扩展那么文件名为 myfunc_helper.php 加载时用$this->load->helper('myfunc');
本文链接
[2]Yii 自定义 登录 过滤器
<?php
/**
* IsLoginFilter class file
*
* 应用于需要判断登录的actions,若没有登录就直接跳转到登录action
*
* @author hail
* @package application.filters
*/
class IsLoginFilter extends CFilter
{
/**
* 登录action所在controller的名字
* @var string
*/
public $login_controller;
/**
* 登录action的名字
* @var string
*/
public $login_action;
public function filter($filterChain)
{
if($this->preFilter($filterChain)){
if((Yii::app()->controller->id)===$this->login_controller)
CController::redirect($this->login_action);
else
CController::redirect($this->login_controller.'/'.$this->login_action);
}else{
$filterChain->run();
}
}
protected function preFilter($filterChain)
{
return Yii::app()->user->isGuest;
}
}
/**
* IsLoginFilter class file
*
* 应用于需要判断登录的actions,若没有登录就直接跳转到登录action
*
* @author hail
* @package application.filters
*/
class IsLoginFilter extends CFilter
{
/**
* 登录action所在controller的名字
* @var string
*/
public $login_controller;
/**
* 登录action的名字
* @var string
*/
public $login_action;
public function filter($filterChain)
{
if($this->preFilter($filterChain)){
if((Yii::app()->controller->id)===$this->login_controller)
CController::redirect($this->login_action);
else
CController::redirect($this->login_controller.'/'.$this->login_action);
}else{
$filterChain->run();
}
}
protected function preFilter($filterChain)
{
return Yii::app()->user->isGuest;
}
}
控制器中使用:
<?php
class SiteController extends Controller
{
public function filters()
{
return array(
array(
'application.filters.IsLoginFilter + setting',
'login_controller'=>'site',
'login_action'=>'login',
),
);
}
}
class SiteController extends Controller
{
public function filters()
{
return array(
array(
'application.filters.IsLoginFilter + setting',
'login_controller'=>'site',
'login_action'=>'login',
),
);
}
}
本文链接
[3]PHP面向对象练习1
题目:编写一个函数(以面向对象的方式开发),从网页输入一个整数打印出对应的金子塔。
参考代码:
显示页面:1、pview.php
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>打印金字塔</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
</head>
<body>
<form action="/blog_article/print.html" method="post">
请输入一个数:<input type="text" name="one" />
<input type="submit" value="提交" />
</form>
</body>
</html>
<html>
<head>
<title>打印金字塔</title>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8" >
</head>
<body>
<form action="/blog_article/print.html" method="post">
请输入一个数:<input type="text" name="one" />
<input type="submit" value="提交" />
</form>
</body>
</html>
2、打印页面:
<?php
//引入lingx.class.php 文件
require_once 'Jzit.class.php';
//接收传过来的值
$one=$_REQUEST['one'];
//创建一个对象
$p = new Jzit;
//调用成员方法
$p->printd($one);
?>
//引入lingx.class.php 文件
require_once 'Jzit.class.php';
//接收传过来的值
$one=$_REQUEST['one'];
//创建一个对象
$p = new Jzit;
//调用成员方法
$p->printd($one);
?>
3、编写类的文件:Jzit.class.php
<?php
//编写一个函数(以面向对象的方式开发),从网页输入一个整数打印出对应的金子塔
//定义一个类 用来打印金字塔
class Jzit{
//定义接收一个值来打印金字塔成员方法
public function printd($n){
//先定义层数
for($i=1;$i<=$n;$i++){
//打印空格
for($k=1;$k<=$n-$i;$k++){
echo " ";
}
//打印*号
for($j=1;$j<=2*$i-1;$j++){
echo "*";
}
//换行,打印下一行
echo "<br />";
}
}
}
?>
//编写一个函数(以面向对象的方式开发),从网页输入一个整数打印出对应的金子塔
//定义一个类 用来打印金字塔
class Jzit{
//定义接收一个值来打印金字塔成员方法
public function printd($n){
//先定义层数
for($i=1;$i<=$n;$i++){
//打印空格
for($k=1;$k<=$n-$i;$k++){
echo " ";
}
//打印*号
for($j=1;$j<=2*$i-1;$j++){
echo "*";
}
//换行,打印下一行
echo "<br />";
}
}
}
?>
本文链接
最新技术文章: