start_php_framework - 基础篇 - 1.1 Let's Start

1.1 Let’s Start

初次创建

开篇的目的很简单,创建一个空的PHP项目(文件夹),里边写一个index.php,输出一个Hello World!即可。

  • Step1:创建空文件夹start_php_framework,内部再创建一个web文件夹,再在web文件夹下创建index.php。编写index.php,内容如下:
<?php

echo 'Hello World!';

编写完成后保存即可。

  • 此处可能就有了第一个疑问:为什么index.php不是直接放置在start_php_framework根目录下,而是创建了一个web文件夹来放置它?我们的目标是构建一款框架(不是一个单文件的脚本)通常我们会构建单入口的框架,调用框架内其他文件是通过路由来实现的。如果把入口文件index.php放置在根目录下,那么它就与静态资源(当然如果纯前后端分离PHP仅担任API角色的话就可能没有静态资源)以及我们未来编写的其他文件夹平级了,那么其他的文件就有可能暴露在公网上,这样就有了安全隐患。所以将index.php放置在web目录内部,就可以巧妙地与其他文件分开,降低风险。
  • Step2:部署项目。PHP项目一般使用Apache或者Nginx来部署(Windows服务器还可能使用IIS),服务部署涉及的知识点先不做过多展开。此处我们以phpStudy 2018为例,使用Apache部署来描述下部署流程(有些开发者对此环节可能已经非常熟悉了,可以跳过):
  • 打开Apachevhost.conf,添加一段如下配置:
<VirtualHost *:80> 
    ServerName zsc.spf.com
    DocumentRoot D:\phpStudy\PHPTutorial\WWW\start_php_framework\web
    ErrorLog "logs/spf/spf_error_log"
    CustomLog "logs/spf/spf_access_log"common
    <Directory  "D:\phpStudy\PHPTutorial\WWW\start_php_framework\web">
        Options +Indexes +FollowSymLinks +MultiViews
        AllowOverride All
        Order deny,allow
        allow from all
    </Directory>
</VirtualHost>

  • 附一段Nginx的配置以供参考:
server
{
    listen 80;
    server_name zsc.spf.com;
    index  index.php index.html index.htm;
    root  D:/phpStudy/PHPTutorial/WWW/start_php_framework/web;
    
    include enable-php.conf;

    location / {
        rewrite ^/index.php(.*)$ /index.php?s=$1 break;
        if (!-e $request_filename) 
        { 
            rewrite ^(.*)$ /index.php?s=$1 last; 
            break; 
        }
    }

    location ~ \.php {
        include fastcgi.conf;
        include pathinfo.conf;
        fastcgi_pass  unix:/tmp/php-cgi.sock;
        fastcgi_index index.php;
    }
    
    location ~ /\.
    {
        deny all;
    }
    
    error_page   404   /404.html;
    
    access_log  /data/logs/spf/spf_access_log;
    error_log /data/logs/spf/spf_error_log notice;
    rewrite_log on;
}


  • D:\phpStudy\PHPTutorial\Apache\logs文件夹下创建spf文件夹,重启Apache服务
  • 编写C:\Windows\System32\drivers\etc\hosts文件,添加一行配置127.0.0.1 zsc.spf.com(部分机器没有权限,可以将hosts文件拷贝到桌面,编写后粘贴回去覆盖即可)
  • 浏览器访问http://zsc.spf.com/,网页成功输出Hello World!

至此,第一步已经运行成功~


项目结构

此时的项目目录结构:

start_php_framework     [框架根目录]
  └─ web                [框架入口]
      └─ index.php      [框架入口文件]

项目地址:https://gitee.com/JiDiYanHuo/start_php_framework

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值