SixFramework微型PHP框架

联合创作 · 2023-09-20 12:31

1. 概述

一个微型的超轻量级的PHP框架,实现了基本的 MVC 和路由。

2. 框架内容

  • SixFramework.php 是整个框架的核心文件,也可以说整个框架就只有这一个文件,这个文件包含了框架的配置以及所有的类。

  • index.php 是入口文件,当然,你可以自定义。只要在使用框架之前 require 一下 SixFramework.php 就可以了。 一般情况下,index.php 的内容是这样子的:

    <?php
        // 引入框架的文件
        require 'SixFramework.php';
    
        // 启动 SfWork
        Sf::load();
        // 不加参数的效果相当于 Sf::load('main', 'index');
  • 配置在框架文件 SixFramework.php 的开头部分。建议使用框架前先浏览一下 SixFramework 的源码。

3. 新建一个页面

3.1 创建一个控制器动作
  • controller/MainController.php 文件中新建一个方法:

    public function newPageAction(){
      echo 'This is a new page.';
    }
  • 打开浏览器,打开如下页面

    http://localhost/SixFramework/index.php?c=main&a=new_page
  • 当然,这是最简单的例子,下面来添加视图。

3.2 创建视图
  • view/Main/ 目录下创建一个名为 newPage.php 的文件,在里面输入:

    <html><head>
        <title>SixFramework Demo</title></head><body>
        <h1>Hello, Tony!</h1>
        <hr />
        <p>SixFramework</p></body></html>
  • 回到控制器 MainController.php 文件,修改 newPageAction 方法:

    public function newPageAction() {
        //echo 'This is a new page.';
        $this->_render(__FUNCTION__);
    }

保存,刷新第一步打开的页面,就可以看到视图文件加载后的效果。

3.3 视图内的变量使用
  • 现在来演示如何往视图传入变量。假设你有一个数组和一个字符串变量需要在视图中显示,我们可以在控制器中这么做:

    public function newPageAction() {
        //echo 'This is a new page.';
        $me = 'Tony';
        $girls = array(
                'Nido', 'Cindy', 'Kate', 'Lily', 'Lucy', 'Hebe'
            );
        $this->_render(__FUNCTION__, array(
                'me' => $me,
                'girls' => $girls,
            ));
    }
  • 在视图文件 view/Main/newPage.php 里,直接这样用就可以了:

    <p>My name is <?php echo $me; ?>.</p>
    <ul>
    <?php foreach($girls as $g){ ?>
        <li><?php echo $g; ?></li>
    <?php } ?>
    </ul>
浏览 7
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报