route类中检测真实的uri

//detect true URI, inspired bu CodeIgniter 2

    private static function detect_uri()
    {
        $uri = $_SERVER[‘REQUEST_URI‘];
        if (strpos($uri, $_SERVER[‘SCRIPT_NAME‘] === 0)) {
            $uri = substr($uri, strlen($_SERVER[‘SCRIPT_NAME‘]));
        }elseif (strpos($uri, dirname($_SERVER[‘SCRIPT_NAME‘])) === 0) {
            $uri = substr($uri, strlen(dirname($_SERVER[‘SCRIPT_NAME‘])));
        }
        if ($uri == ‘/‘ || empty($uri)) {
            return ‘/‘;
        }
        $uri = parse_url($uri, PHP_URL_PATH);
        return str_replace(array(‘//‘,‘../‘), ‘/‘, trim($uri,‘/‘));
    }
时间: 2024-10-17 07:25:23

route类中检测真实的uri的相关文章

检测某个方法是否属于某个类中--解析php函数method_exists()与is_callable()的区别

php函数method_exists() 与is_callable()的区别在哪?在php面相对象设计过程中,往往我们需要在调用某一个方法是否属于某一个类的时候做出判断,常用的方法有 method_exists()和is_callable() 相比之下,is_callable()函数要高级一些,它接受字符串变量形式的方法名作为 第一个参数,如果类方法存在并且可以调用,则返回true.如果要检测类中的方法是否能被调用,可以给函数传递一个数组而不是类的方法名作为参数.数组必须包含对象或类名,以将其作

servlet类中ServletConfig及ServletContext

在一个继承了servlet接口的类中: ServletConfig: 代表:代表了以了一个servlet标签 <servlet> <servlet-name>AServlet</servlet-name> <servlet-class>com.neuedu.path.AServlet</servlet-class> </servlet> 获取:在init方法的参数中. 作用: 获取servlet的名字(web.xml 中的对应的ser

AsyncTask工具类的使用-真实下载图片实例

转载请标明出处:http://blog.csdn.net/blackzhangwei/article/details/51922640 谢谢! 什么是AsyncTask? AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI主线程. 实现一个异步任务可以使用Handler+线程,Android给我们提供了另一种更轻量级的实现方法就是使用AsyncTa

跟王老师学反射(四):Class类:从Class类中获取信息

跟王老师学反射(四)Class类:从Class类中获取信息 主讲教师:王少华   QQ群号:483773664 学习内容 获得class类中的信息 根据我们以前学过的一个Java类有以下几部组成,如下代码所示 一.访问Class对应的类所包含的构造方法 (一)public Constructor<T> getConstructor(Class<?>... parameterTypes) 返回此Class对象所表示的类的指定public构造方法. parameterTypes参数是按

MFC--串口编程---WIN API的方式将串扣操作封装在线程类中

串口采集数据 本文档介绍的是如何获取串口原始数据并将原始数据解析成可处理或可展示的数据. 一.串口采集有很多方式: 1).MFC有一个专门的控件,直接编程采集,一个控件只能采集一个串口,而且串口名字比如是COM20可能就打不开(这里我没有实践,师兄给这样说的),波特率太高读数会出错. 2).利用Windows API通信函数(该工程里面就采用的这种方式) 3).利用Visual C++的标准通信函数_inp._inpw._inpd._outp等直接对串口进行操作. 4).第三方编写的通信类. 二

null在Java中的真实面目

让我们从下面的语句开始: String x = null; 1.这条语句到底做了什么 回想一下什么是变量什么是值.一个通常的比喻就是变量类似于一个盒子,然后你可以使用这个盒子盛放一些东西,你可以用一个变量存储一个值.当声明一个变量时,我们需要指定它的类型. 在Java中主要有两种类型:基本类型和引用类型.基本类型存储值,引用类型存储引用.在这个例子中,初始化语句声明了一个变量"x","x"存储了字符串引用,在这里是null. 下面形象化的解释了这个概念: 如果x=&

【Android进阶】为什么要创建Activity基类以及Activity基类中一般有哪些方法

现在也算是刚刚基本完成了自己的第一个商业项目,在开发的过程中,参考了不少人的代码风格,然而随着工作经验的积累,终于开始慢慢的了解到抽象思想在面向对象编程中的重要性,这一篇简单的介绍一下我的一点收获. 首先,在现在的项目中使用的主要是afinal框架,而且这个框架确实比较不错,省去了不少工作量,在编写Activity的过程中,基本都是直接继承自FinalActivity类,这样可以使用这个类给我们封装好的不少的方法,但是随着项目慢慢推进,这种直接继承框架类的一些缺点也开始慢慢的显现出来.最主要的就

Android中检测字符编码(GB2312,ASCII,UTF8,UNICODE,TOTAL——ENCODINGS)方法(二)

Intent intent = getIntent(); String contentUri = null; Uri uri =null; if (intent.getData() != null) { uri = intent.getData(); contentUri = "file".equals(uri.getScheme()) ? FileContentProvider.BASE_URI + uri.getEncodedPath() : uri.toString(); Str

使用在类中定义的有返回值的函数,如何得到执行结果反馈?

我们做开发时,程序执行完后最好会有个反馈结果,尤其是在庞大的程序中,如果有bug可以及时发现,不然很浪费时间...最近做sde的二次开发,创建数据集时要用到带有返回值的函数,因为在数据集上创建要素类需要用到这个数据集,声明一个全局变量,可以直接用这个返回值.但是在捕获错误方面受到了限制,因为有返回值的函数每一个节点都要有返回值,想直接得到反馈是不行的,想在方法执行后写结果反馈的代码是检测不到的. 只能向师傅求救,给我提供了两种方法解决,感觉很巧妙. 原来的代码: Form1中的代码: priva