文档章节

#[Composer学习笔记]Part3:创建项目文件

Jceee
 Jceee
发布于 2015/08/22 19:09
字数 466
阅读 113
收藏 1
  • 新建项目文件夹 app ,并在其目录下创建文件夹: controller, models 和 views

 mkdir  /opt/htdocs/MFFC/app
 cd /opt/htdocs/MFFC/app
 mkdir controller models views
  • 添加model层文件

vi /opt/htdocs/MFFC/app/models/TestModel.php

    保存以下内容,后面会添加数据层的操作

<?php
class TestModel
{
  public static function test()
  {
    return 'this is model';
  }
}
 ?>
  • 添加controller文件

vi /opt/htdocs/MFFC/app/controller/TestController.php

   保存以下内容

<?php
class TestController
{
  public function index()
  {
    echo 'hehe';
    echo '<pre>';
    var_dump(get_included_files());
    var_dump(TestModel::test());
  }
}
 ?>
  • 添加路由

   保存之后,为了调用TestController的index方法,我们需要在routes.php里加上新的路由规则:

Macaw::get('/', 'TestController@index');
  • 使用自动加载authload

    这时候,路由会解析到去调用类TestController的index方法,但我们并没有引入TestController类,需要通过配置自动加载:

    composer.json中加入autoload的classmap:

{
    "require": {
     "codingbean/macaw" : "dev-master"
    },
    "autoload": {
        "classmap": [
            "app/controller",
            "app/models"
        ]
    }
}

        保存,在/MFFC下执行以下命令(每次新建一个类都得跑一下,这是classmap的不好之处):

composer dump-autoload

        这时,查看/MFFC/composer/autoload_classmap.php,你会发现,里面多了我们刚才新建类的路径引导:

return array(
    'TestController' => $baseDir . '/app/controller/TestController.php',
    'TestModel' => $baseDir . '/app/models/TestModel.php',
);

       这是对这些类名的路径指向,有一点需要注意:

       因为这是个数组,以类名为键名,类文件地址为键值,

       所以如果在自动加载地图中,有相同的类名,结果的地址都只有一个。

       处理方法是:在类文件中加上命名空间,再跑一

       这时,键值的格式是:Controller\\Test\\TestController  

       前面为命名空间,后面为类名,但路由方面应该怎么设置这个还没了解到,等到学laraval的时候应该会来填这坑

  • 这时候访问 index.php 就会调用 TestController下的index方法了

© 著作权归作者所有

共有 人打赏支持
Jceee
粉丝 17
博文 47
码字总数 19440
作品 0
广州
程序员
私信 提问
个人笔记------composer

Composer使用 是什么 如果你知道、、、等命令中的一种或者多种,那么,你也能很快知道是什么了。没错,它就是PHP里快速安装类库的。平时,我们安装一个PHP类库,需要;使用,我们只要知道包名...

ywppengpeng
2017/10/19
0
0
Laravel5学生成绩管理系统-01-安装-建表-填充数据

注:以下笔记都是按照此博文进行开发学习,开发环境为Mac 。 一、从github上克隆项目到本地 二、切换到本地项目目录下,安装composer // 可以将上边的命令放入到 bin目录下,方便后边不用每次...

Corwien
2016/04/21
188
0
自己创建composer包并

大纲 创建自己的composer库 提交到指定平台 测试安装自己的库 设置composer平台自动更新 如何方便测试自己开发的库 开始动手 创建自己的composer库 个人博客后台有一部分是关于统计的,通过U...

蜗牛奔跑
2016/11/24
20
0
laravel 学习笔记——起点

本系列文章主要是方便初学 laravel 的人入门,帮一些朋友认识到如何入门、如何学习 laravel,同时补充一些忽略过的基础知识。 Laravel 给了我学习新知识的一个契机,让我更早的接触更多的东西...

xsctx7788
2016/10/26
21
0
PHP管理工具compser windows下安装

依赖管理 Composer不是包管理器。是的,它实际上和"包"或者库打交道,但是它是以项目为单位进行管理,把它们安装到你项目中的一个目录(例如)。默认情况下它不会以全局的方式安装任何东西。...

peasant
2014/04/25
0
0

没有更多内容

加载失败,请刷新页面

加载更多

JS 调用Angularjs 的方法

// 1. 获取 Controllerlet appElement = document.querySelector('[data-ng-controller=MessagesCtrl]');let scope = angular.element(appElement).scope();// 2. 调用方法scope.l......

Moks角木
35分钟前
2
0
dubbo+zookeeper与 eureka的区别

CAP CAP 原则指的是在一个分布式系统中,Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可兼得 在分布式架构里, P必须有 Zookeeper保证C P 当...

群星纪元
44分钟前
4
0
云计算之边缘计算大势所趋

如果说边缘计算是公同认定的目标,那么我们看到,不同类型的厂商基于自身的特点,会从不同的起点、沿着不同的路径,向这个目标奔跑。上次参加阿里云的一次活动,看到他们将边缘计算的厂商分成...

linuxCool
49分钟前
1
0
前端通过后端传过来的'\n' ,''等字符串换行失败问题

后台推送换行符 '\n' 或 '<br/>' 等字符串到前台不会换行 详细描述 后台逻辑处理返回String字符串,其中包含\n或<br/>等换行符号,但是前端渲染时候却并没有真正的换行 也尝试了大佬的各种 ...

下次用oschina
56分钟前
2
0
volatile能保证有序性吗?

在前面提到volatile关键字能禁止指令重排序,所以volatile能在一定程度上保证有序性。   volatile关键字禁止指令重排序有两层意思:   1)当程序执行到volatile变量的读操作或者写操作时...

无精疯
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部