通过URL访问php对应的类中的方法

主要是一个小项目,没必要使用框架,就简单处理了使用一个文件类调用多个方法,避免重复创建php文件去实现这些类方法的问题,写好了还是记录一下,方便日后继续使用: 
pathinfo模式 ,例如:index.php/job/get_list?a=1&b=2&c=3 
通过这个URI可以访问到 Job.php中 Job类的getList()方法,其中传入了参数[‘a’=>’1’,’b’=>’2’,’c’=>’3’] 

php中什么是单入口文件?单入口文件的优缺点?

单一入口应用程序的所有http请求都是通过某一个文件(比如index.php)接收并由这个文件转发到功能代码中去。
单一入口应用程序优势:可以对url参数和post进行必要的检查和特殊字符过滤、记录日志、访问统计等等各种可以集中处理的任务,类似如一些权限控制、用户登录方面的判断和操作可以统一处理了。
由于这些工作都被集中到了单入口文件(index.php)来完成,可以减轻我们维护其他功能代码的难度。

比如你访问网站,http://www.aaa.com/index.php
这个index.php就是单入口文件,访问任何页面都是在index.php后面加参数,比如登录页:
http://www.aaa.com/index.php?m=login
优点就是比较方便管理,可以配置一些统一的设置,比如安全性检查,访问统计什么的。
缺点的话,url不好看吧...最好做一下重写

<?php
/**
 * Created by PhpStorm.
 * User: zheng
 * Date: 2018/7/12
 * Time: 10:32
 */

try{
    //获取类名与方法
    $uri    = parse_url($_SERVER['PATH_INFO']);
    $query  = $uri['path'];
    $pathInfo = array_values(array_filter(explode('/',$query)));
    $className = ucfirst(isset($pathInfo[0])?$pathInfo[0]:'');
    $methodName = isset($pathInfo[1])?$pathInfo[1]:'';
    if(!$className||!$methodName){
        throw new \Exception();
    }
    $methodNameArr = explode('_',$methodName);
    $method = '';
    foreach ($methodNameArr as $key=>$value){
        if($key!=0){
            $method.=ucfirst($value);
        }else{
            $method=$value;
        }
    }
//获取查询参数
   $params = $_GET;
    $fileDir = $className.'.php';
    include_once $fileDir;
    $classObj = new $className();
    $data = $classObj->$method($params);
    exit($data);
}catch (\Exception $e){
    Header("HTTP/1.0 404 Not Found");
}

注意使用的apche或者nginx要支持pathinfo模式。 
(其他:对数据库的封装使用的是Medoo,这个类非常小,就20KB左右,使用起来也很方便。)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要通过GET请求方式访问URL执行PHP点赞脚本,你可以按照以下步骤进行操作: 1. 创建一个PHP脚本,例如 `like.php`,将点赞逻辑添加到该脚本。以下是一个示例代码: ```php <?php // 连接数据库 require_once 'path/to/your/db_connect.php'; // 获取文章ID和用户ID $articleId = $_GET['article_id']; $userId = $_GET['user_id']; // 检查文章ID和用户ID是否存在 if (!empty($articleId) && !empty($userId)) { // 执行点赞逻辑 // ... // 插入点赞数据 // ... // 更新文章的点赞用户数字段 // ... // 返回成功响应 echo '点赞成功'; } else { // 返回错误响应 echo '参数错误'; } ``` 2. 在上述代码,你需要根据你的实际需求编写点赞逻辑,并执行插入数据和更新数据的操作。确保在代码引入数据库连接文件或配置文件。 3. 将 `like.php` 文件上传到你的网站服务器的公开目录,例如网站的根目录或一个子目录。 4. 使用浏览器或其他HTTP工具,访问该脚本的URL,并传递所需的参数。URL的格式通常为 `http://yourdomain.com/path/to/like.php?article_id=7056&user_id=123`,其 `yourdomain.com` 是你的域名,`path/to/like.php` 是脚本的路径,`article_id` 和 `user_id` 是参数名,`7056` 和 `123` 是对应的参数值。 这样,当你访问URL时,服务器将执行 `like.php` 脚本,并根据传递的参数执行相应的点赞逻辑。 请注意,通过公开访问URL执行脚本可能存在安全风险。确保只允许受信任的用户或IP地址访问URL,并对代码进行适当的验证和过滤,以防止潜在的安全漏洞。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值