导航:首页 > 编程语言 > phpactionurl

phpactionurl

发布时间:2023-03-09 16:46:17

php 如何通过url参数来访问类,类似于struts2的action调用。

用这种方式,最好的办法是写一个统一的入口文件来处理请求参数
// 常量-- 你的网站action路径
AC_ROOT = '../'
// 处理类
$action = $_REQUEST['action'] ? $_REQUEST['action'] : 'indexAction';
// 处理方法
$method =$_REQUEST['method'] ? $_REQUEST['method']: 'index';
// 查看类是否存在
$actoinfile = AC_ROOT . $action . '.php';
if(file_exists($actoinfile))
{
// 如果存在
require_once($actoinfile);
// 获取此类的对象
$obj = new $action ();
// 查看处理函数是否存在
if (!method_exists($obj , $method)) {
// 方法不存在返回错误
}
// 进入处理流程
$obj->{$method}();
} else {
// 类不存在 返回错误
}
建议: 你可以看看 Thinkphp 等框架 的入口处理方法, 对你应该很有帮助.

② php在提执行一个 $action之后如何返回原来的url

比如说你从test.php跳转到~/demo.php?action=xxx,顺便POST一个变量过来,刷新的时候文件开头判断这个变量存在不,不存在跳到原始url

③ php如何通过url调用php文件中的方法

题主所描述的这种形式,是MVC设计模式的典型应用。

通过使用PSR4来实现自动加载,可以通过处理路由来实现

//处理路由的方法
staticpublicfunctionroute()
{
//获取的模块
$_GET['m']=isset($_GET['m'])?$_GET['m']:'Index';

//获取行为动作action又叫方法
$_GET['a']=isset($_GET['a'])?$_GET['a']:'index';

$controller='Controller\'.$_GET['m'].'Controller';
//echo$controller;
$c=new$controller();

//$c->$_GET['a']();
call_user_func(array($c,$_GET['a']));
}

最终可实现以下形式:

④ php url 重复参数如何处理,像这样的url http://localhost/ds.phpaction=4&id=7&id=8&id=7

你可以使用 $_SERVER["QUERY_STRING"] 获取整个query_string,然后自己写个简单的代码来解析,类似于

<?php
$arr_kev=explode('&',$_SERVER['QUERY_STRING']);
$get=array();
foreach($arr_kevas$kev)
{
list($key,$val)=explode('=',$kev);
$get[$key][]=$val;
}
?>
阅读全文

与phpactionurl相关的资料

热点内容
手游云顶文件夹 浏览:935
msvc和mingw都是编译器吗 浏览:423
数控机床编程解析 浏览:384
新老鸟虚拟资源网解压码 浏览:557
如何用域用户登录ftp服务器 浏览:22
如何将读书郎平板升级安卓系统 浏览:338
XC16编译器有免费的吗 浏览:498
编译和程序编辑 浏览:848
androidv4和v7 浏览:714
iphoneapp怎么从文件夹安装 浏览:21
去掉加密平板电脑 浏览:376
二叉树用什么编译器写 浏览:323
手机除了主板还有什么app 浏览:183
如何还原在服务器上删除的文件 浏览:851
pdf转成黑白的 浏览:20
程序员为什么是单身 浏览:928
选项卡中的命令组被称为什么 浏览:261
navicatlinux破解 浏览:612
加密视频可以用采集卡吗 浏览:292
php正则表达式2 浏览:482