课程咨询 :0571-56020837 QQ: 1445681584

杭州php培训

  • 达内:PHP Web 开发基础

    发布:杭州PHP培训      来源:慕课社区      时间:2016-01-27


  •     PHP是动态类型的Web开发的脚本语言,PHP以页面文件作为加载和运行的单元。

        杭州达内PHP培训专家详解PHP Web 开发基础知识。

    1.使用Composer管理依赖 
     
        PHP现在有了Composer作为开发包管理

        (1)全局安装

        在指定安装目录中执行命令行:

    php -r "readfile('https://getcomposer.org/installer');" | php

        在指定安装目录中执行命令行:

    echo @php "%~dp0composer.phar" %*>composer.bat

        将指定安装目录添加到环境变量的系统变量Path中。

        (2)项目安装

        在项目目录中执行命令行:

    php -r "readfile('https://getcomposer.org/installer');" | php

        使用 composer.json 文件配置依赖。如配置PHP中常用的日志组件:

    {
        "require": {
            "monolog/monolog": "1.0.*"
        }
    }

        使用命令行命令 php composer.phar install 安装依赖的资源包。如果进行了全局安装,只需要执行composert install。

        这会将生成 composer.lock 文件并依赖下载资源包到 vendor 目录,composer.lock 文件是下载依赖时真正使用的文件。

        (3)升级依赖

        项目使用 composer.lock 文件维护依赖,如果我们需要使用更新版本的依赖,需要按需修改 composer.json 文件并执行更新命令。全局安装:composer update,项目安装使用:php composer.phar update。

        (4)资源包查询与镜像

        可以使用http://packagist.org检索资源包。

        可以使用http://packagist.phpcomposer.com镜像,全局配置使用如下命令行命令:

    composer config -g repo.packagist composer http://packagist.phpcomposer.com

        项目配置使用如下命令行:

    composer config repo.packagist composer http://packagist.phpcomposer.com

        当然简单的方式是直接修改composer.config文件:

    {
        "require": {
            "monolog/monolog": "1.0.*"
        },
        "repositories": {
            "packagist": {
                "type": "composer",
                "url": "http://packagist.phpcomposer.com"
            }
        }
    }

        (5)自动加载

        Composert 在 vendor 目录下自动生成并维护包含了全部依赖信息的 autoload.php 文件。因此我们只需要通过 autoload.php 使用第三方库即可。例如:

    <?php
    require 'vendor/autoload.php';
    $log = new Monolog\Logger('name');
    $log->pushHandler(new Monolog\Handler\StreamHandler('app.log', Monolog\Logger::WARNING));
    $log->addWarning('Foo');
    ?>

    2.PHP基础 
     
        (1)PHP类似C语系语法的脚本语言。

        如果你有C或C++语言的基础,那么很多概念和语法都可以直接对照。从大小写敏感到注释,从数据类型、函数、参数传递和成员引用等。从C/C++/Java/C#这一体系学习下来,再加上JavaScript脚本语言的基础,加点PHP的技能点水到渠成。

        (2)PHP是动态类型语言。

        PHP有和C语言等强类型语言一样的数据类型定义,支持的类型也相仿,只是PHP中同一变量在不同时刻可以表示不同类型的数据,但同一时刻,每个变量都相当于强类型中的指定类型的变量。因此对于PHP,更适合的称呼是动态类型。习惯使用Java/C#等强类型语言总会对动态类型的脚本语言心存焦虑,可以通过PHP的类型检查函数减少这方面的顾虑(is_bool\is_integer\is_double\is_string\is_null等)。

        (3)PHP以页面文件方式运行。

        无论如何使用PHP,PHP的都是以页面文件方式运行的,这和运行在浏览器端的JavaScript方式类似,JavaScript文件只有在被加载到当前页面才能引用和执行,PHP也只有在通过include或required方式加载后才能引用和执行,即使后续添加的 __autoload和spl_autoload依然只是简化而非改变了其加载引用的本质。

        (4)PHP不需要复杂的框架

        PHP天生是处理Web请求的,HTTP协议相关的内容是PHP的重点,一般来讲,除了纵向请求的处理,横向的认证和授权控制部分,其他部分不应该过于依赖PHP,如果通过耦合性较高的Web框架使用PHP本身就是错误的。由于PHP本身的运行和加载方式,导致PHP天生就适合复用各种组件而非使用框架来解决问题。

    3.PHP常用文件
     
        (1)配置文件config.php

        应用配置的各种信息定义在一个或多个配置文件中。一般每次请求都会加载配置文件,配置文件中不只包含了数据库连接信息,如应用MVC时,每次请求都会加载配置文件以便读取所有URL和Controller以及View之间的规则。

        (2)入口文件index.php

        处理首页请求或全部请求的文件。index.php在实现PHP的MVC时是天然的前段控制器FrontController,由index.php负责纵向的处理请求转发,横向的认证和授权等处理文件,等也需要在index.php中加载。

        (3)数据访问文件database.php

        database.php是工具类中主要的用于数据访问的文件,为了避免数据访问中重复性出现的代码,一般的PHP应用程序都会独立的一个或一组数据访问文件。

    4.自定义Session 
     
        在PHP中自定义Session比Java中方便多了,只需要将自定义的函数名称做为参数传递给session_set_save_handler($open, $close, $read, $write, $destroy, $gc)作为参数即可,我们自定义一个使用cookie作为存储的session,作为演示没有对数据长度进行验证,也没有使用对称加密解密。

    <?php

    function open_session() {
        return true;
    }

    function close_session() {
        return true;
    }

    function read_session($id) {
        if ($_COOKIE[$id]) {
            return base64_decode($_COOKIE[$id]);
        }
        return '';
    }

    function write_session($sid, $data) {
        if ($_COOKIE['session_end']) {
            setcookie($sid, base64_encode($data), $_COOKIE['session_end']);
        } else {
            $start = time() + session_get_cookie_params()['lifetime'];
            setcookie('session_end', $start, $start);
            setcookie($sid, base64_encode($data), $start);
        }
        return true;
    }

    function destroy_session() {
        $_Session = array();
        return true;
    }

    function gc_session() {
        return true;
    }

    ini_set("session.cookie_lifetime", "3600");
    session_set_save_handler('open_session', 'close_session', 'read_session', 'write_session', 'destroy_session', 'gc_session');
    session_start();
    $_SESSION['count'] += 1;
    echo $_SESSION['count'];
    session_write_close();







    作者:#王刚
    原文地址:http://www.cnblogs.com/easygame/p/5136228.html

上一篇:PHP工程师应当学习10个PHP特性

下一篇:达内教你把phpStorm打造成专属IDE

新开班日期  |  更多

PHP高级开发工程师就业班

PHP高级开发工程师就业班

开班日期:每月28日

PHP高级开发工程师精品班

PHP高级开发工程师精品班

开班日期:每月28日

PHP高级开发工程师周末班

PHP高级开发工程师周末班

开班日期:每月28日

PHP高级开发工程师定制班

PHP高级开发工程师定制班

开班日期:每月28日

  • 地址:杭州市西湖区文三路259号昌地火炬大厦1号楼14层
  • 课程培训电话:0571-56020837 QQ: 1445681584     全国服务监督电话:400-111-8989
  • 服务邮箱 tousu@tedu.cn
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56