精华内容
下载资源
问答
  • 主要介绍了PHP从零开始打造自己的MVC框架之入口文件实现方法,结合具体实例形式分析了php实现MVC框架入口文件的原理、定义及使用方法,需要的朋友可以参考下
  • php入口文件是什么

    2021-03-24 01:12:07
    文件入口当然是指网站访问始终都是有访问index.php这个文件,但关系到里面显示的内容却是根据后台的参数来加载,比如:http://IP/index.php? Conttoller=index&action=show&id=1多文件入口当然是指网站...

    abc3ff1047097c235aa2ba83943485d0.png

    文件入口一般分为单文件入口和多文件入口,当然也有可能有其它的文件入口没见过。

    单文件入口当然是指网站访问始终都是有访问index.php这个文件,但关系到里面显示的内容却是根据后台的参数来加载,比如:http://IP/index.php? Conttoller=index&action=show&id=1

    多文件入口当然是指网站里面除了index.php文件名,还有其它文件访问,比如同一个网站下有index.php,about.php………..等。

    入口文件主要完成:

    ·定义框架路径、项目路径(可选)

    ·定义调试模式和应用模式(可选)

    ·定义系统相关常量(可选)

    ·载入框架入口文件(必须)

    相关推荐:《php入门教程》

    默认情况下,框架已经自带了一个应用入口文件(以及默认的目录结构),内容如下:define('APP_PATH','./Application/');

    require './ThinkPHP/ThinkPHP.php';

    如果你改变了项目目录(例如把Application更改为Apps),只需要在入口文件更改APP_PATH常量定义即可:define('APP_PATH','./Apps/');

    require './ThinkPHP/ThinkPHP.php';

    注意:APP_PATH的定义支持相对路径和绝对路径,但必须以“/”结束。

    如果你调整了框架核心目录的位置或者目录名,只需要这样修改:define('APP_PATH','./Application/');

    require './Think/ThinkPHP.php';

    也可以单独定义一个THINK_PATH常量用于引入:define('APP_PATH','./Application/');

    define('THINK_PATH',realpath('../Think').'/');

    require THINK_PATH.'ThinkPHP.php';

    和APP_PATH一样THINK_PATH路径定义也必须以“/”结尾。给THINK_PATH和APP_PATH定义绝对路径会提高系统的加载效率。

    展开全文
  • 入口文件一个项目(系统)通常具有一个统一的入口文件,项目的所有功能操作都是通过这个入口文件进行的,并且往往入口文件是第一步被执行的,这是 ThinkPHP 或者说 PHP 框架中非常重要的一个概念。创建入口文件会在...

    入口文件

    一个项目(系统)通常具有一个统一的入口文件,项目的所有功能操作都是通过这个入口文件进行的,并且往往入口文件是第一步被执行的,这是 ThinkPHP 或者说 PHP 框架中非常重要的一个概念。

    创建入口文件会在下面介绍。

    项目目录规划

    通常我们一个项目或者说一个网站,根据情况可以简单的划分如下:

    只有一个相对简单的基于 ThinkPHP 开发的应用,如 CMS 系统。

    基于 ThinkPHP 开发的应用和别的系统集成在一起。

    其他更复杂的情况,在此不进一步讨论。

    之所以对上面的项目目录规划做讨论,是因为在入口文件设定的参数不同,生成的项目文件夹分布会有一些不同,具体可见下面的描述。

    创建入口文件

    下面是一个最常见的入口文件例子,该例子适用于大部分情况,尤其上面项目规划中的第 2、3 种情况,也是推荐的样例。

    假设我们创建的项目名字为 myapp,在 Web 根目录下以 UTF-8 格式创建一个文件 index.php ,文件内容如下:

    //入口文件

    //定义项目名称和路径

    define('APP_NAME', 'myapp');

    define('APP_PATH', './myapp/');

    //开启调试模式

    define('APP_DEBUG',true);

    // 加载框架入口文件

    require("./ThinkPHP/ThinkPHP.php");

    ?>

    在入口文件中,定义了项目名称及路径、是否开启调试模式、加载框架入口文件 ThinkPHP.php。

    相比较 2.x 版本的变更

    3.0 版本去掉了 App::run(); 实例化应用的代码,否则程序会出现执行两遍的情况。

    3.0 版将原配置文件里的调试模式开关调整放入了入口文件中。

    APP_PATH 必须以 / 结束。

    创建一个项目

    保存入口文件后,在同目录下创建 myapp 文件夹,以存放项目文件。在浏览器运访问刚才创建的入口文件:

    http://localhost/index.php

    可以看到浏览器出现项目构建成功提示:

    d84774ddb7d0356f5d3fe86499c5383a.gif

    至此,应用项目已经创建成功,您可以开始基于 ThinkPHP 进行项目开发了。如果无法显示该页面,请检查入口文件的配置或者 Web 服务及目录配置是否正确,myapp 目录是否有可写入的权限。

    建议:尽量在本地配置虚拟主机来模拟实际的网站运行环境。

    展开全文
  • php入口文件的作用php入口文件能够完成主动加载性能。解析PHP入口文件的主动加载性能php的主动加载:正在php5之前,咱们要用某个类或类的办法,那必需include或许require,之后能力应用,每一次用一个类,都需求写一...

    gif;base64,R0lGODlhAQABAAAAACH5BAEKAAEALAAAAAABAAEAAAICTAEAOw==

    php入口文件的作用

    php入口文件能够完成主动加载性能。

    解析PHP入口文件的主动加载性能

    php的主动加载:

    正在php5之前,咱们要用某个类或类的办法,那必需include或许require,之后能力应用,每一次用一个类,都需求写一条include,费事

    php作者想简略点,最佳能援用一个类时,假如以后不include出去,零碎能主动去找到该类,主动引进~

    于是:__autoload()函数应运而生。

    通常放正在使用顺序入口类外面,比方discuz中,放正在class_core.php中。

    保举:《PHP教程》

    先讲通俗的例子:

    第一种状况:文件A.php中内容以下

    class A{

    public function __construct(){

    echo 'fff';

    }

    }

    ?>

    文件C.php 中内容以下:

    function __autoload($class)

    {

    $file = $class . '.php';

    if (is_file($file)) {

    require_once($file);

    }

    }

    $a = new A(); //这边会主动挪用__autoload,引入A.php文件

    ?>

    第二种状况:有时我心愿能自界说autoload,而且心愿起一个更酷的名字loader,则C.php改成以下:

    function loader($class)

    {

    $file = $class . '.php';

    if (is_file($file)) {

    require_once($file);

    }

    }

    spl_autoload_register('loader'); //注册一个主动加载办法,笼罩原本的__autoload

    $a = new A();

    ?>

    第三种状况:我心愿矮小上一点,用一个类来治理主动加载

    class Loader

    {

    public static function loadClass($class)

    {

    $file = $class . '.php';

    if (is_file($file)) {

    require_once($file);

    }

    }

    }

    spl_autoload_register(array('Loader', 'loadClass'));

    $a = new A();

    ?>

    以后为最好方式。

    通常咱们将spl_autoload_register(*)放正在入口剧本,即一开端就援用出去。比方上面discuz的做法。

    if(function_exist('spl_autoload_register')){

    spl_autoload_register(array('core','autoload')); //假如是php5以上,存正在注册函数,则注册本人写的core类中的autoload为主动加载函数

    }else{

    function __autoload($class){ //假如没有是,则重写php原生函数__autoload函数,让其挪用本人的core中函数。

    return core::autoload($class);

    }

    }

    这段扔正在入口文件最后面,天然是极好的~

    以上就是php入口文件的作用的具体内容,更多请存眷资源魔其它相干文章!

    本网站(www.ziyuanmo.com)刊载的所有内容,包括文字、图片、音频、视频、软件、程序、以及网页版式设计等均由用户发表。

    虚拟收费资源付款后概不退款,请考虑在三后支付!如有侵权可联系邮箱:ziyuanmo@admin.com,会在第一时间解决!

    资源猫 » php入口文件的作用-PHP问题

    分享到:

    展开全文
  • php入口文件的作用

    2021-03-26 10:45:19
    php入口文件的作用php入口文件可以实现自动加载功能。解析PHP入口文件的自动加载功能php的自动加载:在php5以前,我们要用某个类或类的方法,那必须include或者require,之后才能使用,每次用一个类,都需要写一条...

    6fab50694b2df0fe316e739efb5eec46.png

    php入口文件的作用

    php入口文件可以实现自动加载功能。

    解析PHP入口文件的自动加载功能

    php的自动加载:

    在php5以前,我们要用某个类或类的方法,那必须include或者require,之后才能使用,每次用一个类,都需要写一条include,麻烦

    php作者想简单点,最好能引用一个类时,如果当前没有include进来,系统能自动去找到该类,自动引进~

    于是:__autoload()函数应运而生。

    通常放在应用程序入口类里面,比如discuz中,放在class_core.php中。

    推荐:《PHP教程》

    先讲浅显的例子:

    第一种情况:文件A.php中内容如下

    class A{

    public function __construct(){

    echo 'fff';

    }

    }

    ?>

    文件C.php 中内容如下:

    function __autoload($class)

    {

    $file = $class . '.php';

    if (is_file($file)) {

    require_once($file);

    }

    }

    $a = new A(); //这边会自动调用__autoload,引入A.php文件

    ?>

    第二种情况:有时我希望能自定义autoload,并且希望起一个更酷的名字loader,则C.php改为如下:

    function loader($class)

    {

    $file = $class . '.php';

    if (is_file($file)) {

    require_once($file);

    }

    }

    spl_autoload_register('loader'); //注册一个自动加载方法,覆盖原有的__autoload

    $a = new A();

    ?>

    第三种情况:我希望高大上一点,用一个类来管理自动加载

    class Loader

    {

    public static function loadClass($class)

    {

    $file = $class . '.php';

    if (is_file($file)) {

    require_once($file);

    }

    }

    }

    spl_autoload_register(array('Loader', 'loadClass'));

    $a = new A();

    ?>

    当前为最佳形式。

    通常我们将spl_autoload_register(*)放在入口脚本,即一开始就引用进来。比如下面discuz的做法。

    if(function_exist('spl_autoload_register')){

    spl_autoload_register(array('core','autoload')); //如果是php5以上,存在注册函数,则注册自己写的core类中的autoload为自动加载函数

    }else{

    function __autoload($class){ //如果不是,则重写php原生函数__autoload函数,让其调用自己的core中函数。

    return core::autoload($class);

    }

    }

    这段扔在入口文件最前面,自然是极好的~

    展开全文
  • index.php入口文件如何隐藏发布时间:2020-07-21 09:25:35来源:亿速云阅读:64作者:Leah本篇文章为大家展示了index.php入口文件如何隐藏,代码简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍...
  • 通过 PHP 原生代码实现 HTTP 路由器由 学院君 创建于8个月前, 最后更新于 7个月前版本号 #21600 views0 likes0 collects引言上篇教程学院君给大家演示了如何基于 Symfony 的 HTTP Foundation 组件封装 HTTP 请求和...
  • [伊达原创]浅谈PHP开发中的MVC单点入口模式何谓单点入口呢?我想PHP4时代的时候有一个很响亮的代名词“工厂模式”,因为你在开发一个大型项目的时候可能会遇到N多的类和需要你包含的类库文件,如果你把所有的类文件...
  • 主要介绍了PHP实现一个简单url路由功能实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
  • 入口文件 index.php 隐藏 在PHP的web项目中,问了隐藏项目的开发语言,我们首先会选择把项目的入口文件index.php(如果做了特殊配置,特殊处理)在URL中隐藏掉。 当然部署中还需要隐藏其他信息,例如服务器的类型和...
  • 对于由原生PHP写成的独立php框架,利用单一入口文件实现路径的访问。这时我们会遇到的首要问题是:文件的相互包含,其次就是路由分配。当我们不利用成熟的PHP框架进行web开发时,我们就会发现上述两个问题会是很困扰...
  • 本文主要给大家介绍了关于Laravel从入口... 预备知识Laravel 目录/path/to后面简称 LaravelWeb 目录Laravel/public后面简称 Web入口文件Web/index.phpII. 过程详解范例: http://la.com/test/yueshu/female/20?name=...
  • index.php //入口文件/*** @name index.php* @decs* @author 老猫 <18368091722@163.com>* Updated on: 2019/5/30 9:49*/include "goods.php";conn.inc.php //数据库连接常量设置/*** @name conn.inc.php* @...
  • 對於由原生PHP寫成的獨立PHP框架,利用單一入口文件實現路徑的訪問。這時我們會遇到的首要問題是:文件的相互包含,其次就是路由分配。當我們不利用成熟的PHP框架進行web開發時,我們就會發現上述兩個問題會是很困擾...
  • php的自动加载: 在php5以前,我们要用某个类或类的方法,那必须include或者require,之后才能使用,每次用一个类,都需要写一条include,麻烦 ...通常放在应用程序入口类里面,比如discuz中,放在class_core.p...
  • 对于由原生PHP写成的独立PHP框架,利用单一入口文件实现路径的访问。这时我们会遇到的首要问题是:文件的相互包含,其次就是路由分配。当我们不利用成熟的PHP框架进行web开发时,我们就会发现上述两个问题会是很困扰...
  • PHP 原生实战

    2020-01-31 10:16:57
    入口文件接收View传过来的值,决定进入哪个Controller,Controller再去Model里面获取数据。文件名: 我们要创建一个行动的文件 userAction.php dyAction.php (Controller先把Model加载进来,并且在Controller里面...
  • 所以使用Redis String过期key-value + Html文件策略,使一个HTML文件对应的Key存活5分钟,五分钟后出现访问重新生成新的Html静态页。 遇到问题,执行完成的PHP代码无法获取,截获路由使用file_get_content(url)重新...
  • 参考文章src // 存放源代码dist // distribution的缩写,是指打包完毕可以分发或部署的文件,一般不会同时有build和dist的tests // 测试用例代码build // 构建完毕可以发布的代码├─build # 编译后生成的所有代码、...
  • 由于只是测试阶段,所以必须安装`dev`版本 ``` composer create-project topthink/think tp520 5.2.*-dev ``` 启动服务 ``` cd tp520 php think run ``` ## 入口文件 新版的入口文件还是位于`public`目录下面,由于...
  • 原生态的PHP MVC架构, 需提前安装 mongodb/*** 入口文件** @version $Id: index.php 2014-3-12 下午2:27:11 zhangzw $*/// 加载路径$dirpath = array(get_include_path(), 'class', 'model', 'config');set_include_...
  • 原生php, if(): endif; 这种语法好多人没写过吧,手册一开始就有介绍.这样很美观 $xxx?> 相当于<?php echo $xxx;?> 这是php支持的简写方式 此模板不用编译,不用记忆复杂的模板语法.smarty的一个用途是给美工用,...
  • PHP原生环境配置 来 让你熟悉为什么

    千次阅读 2017-01-17 13:37:41
    1.PHP是一种典型的脚本语言、开发阶段必要环境配置 2.经典的Apache服务器加MySql数据库就能实现PHP程序运行 3.PHP: 在Web端之所以流行,是因为其兼容性,安全性,及运行效率迅速 ①许多人在开发阶段不注意...
  • 原生php和html做了一个登陆注册:这个是多入口,一般程序都是单入口,单入口就是统一通过index.php进入,然后再引入其他文件,调用其代码,多入口就是每次通过不同文件进入(比如一会展示的login.php和register....

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 4,885
精华内容 1,954
关键字:

原生php入口文件