问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

如何使用composer搭建自己的php框架

发布网友 发布时间:2022-04-07 05:09

我来回答

2个回答

懂视网 时间:2022-04-07 09:30

Composer 使用不同的技术和标准简化了类的自动加载。当今最常见的自动加载标准是 PSR-4:

"autoload": {
 "psr-4": {
 "App": "src/"
 }
}

这将使用带有 “App” 名称空间前缀的 PSR-4 标准将 src 文件夹中的所有类自动加载。但是,我们如何自动加载不直接属于命名空间类的文件、全局帮助程序函数呢?那么,如果你在 Composer 网站上浏览官方文档 , 你可以看到 “autoload” 模式支持多种标准和技术。

PSR-0 是旧的自动加载标准,已弃用,但仍支持。我们应该避免使用它。

PSR-4 是现代自动加载标准,取代了 PSR-0。它是命名空间类的主要自动加载标准。

classmap 是用于加载没有名称空间或名称空间前缀的类的自动加载标准。

files 是加载文件的加载标准。

你可能已经猜到了,files 是我们需要在不定义类的情况下加载 PHP 文件的标准,该类仅包含 helper 方法。files 标准接受每个文件的相对路径数组。通常,当你要定义全局助手方法时,最好使用 “functions.php” 或 “helpers.php” 名称创建一个 PHP 文件,并将所有助手函数放入其中。

"autoload": {
 "files": [
 "src/functions.php"
 ]
}

关于如何编写和自动加载全局函数,有一些常见的做法。你需要记住,由于在 Composer 加载这些函数时没有命名空间,因此它们可能与现有功能冲突。Composer 自动加载机制始终检查给定的函数或类是否已经存在,如果存在,Composer 会引发异常,抛出 “cannot redeclare”。为了避免这种情况,在加载函数之前,我们可以检查它是否可用。

functions.php

if (!function_exists('sayHello')) {
 function sayHello()
 {
 return 'Hello!';
 }
}

在此示例中,我们要求 Composer 检查名称为 sayHello 的全局函数是否已存在,如果不存在则加载给定函数,否则将其忽略并使用已可用的函数。

推荐教程:《PHP教程》《Composer教程》

热心网友 时间:2022-04-07 06:38

安装 illuminate/database
给 composer.json 增加一个 require 项:
"illuminate/database": "*"
运行 composer update ,等待安装完成。
使用 Eloquent
修改 public/index.php 为:

<?php
use Illuminate\Database\Capsule\Manager as Capsule;
// Autoload 自动载入
require '../vendor/autoload.php';
// Eloquent ORM
$capsule = new Capsule;
$capsule->addConnection(require '../config/database.php');
$capsule->bootEloquent();
// 路由配置
require '../config/routes.php';
新增 config/database.php (注意替换数据库密码):

<?php
return [
'driver' => 'mysql',
'host' => 'localhost',
'database' => 'mffc',
'username' => 'root',
'password' => 'password',
'charset' => 'utf8',
这样就可以了,试试吧 !你还不明白的话可以去后盾人线下面授培训去问问专家教师,他们一定会的,这样不就行了,如果嫌弃麻烦可以上后盾人平台,找找相关教材视频看看,不就会了,希望能帮到你,给个采纳吧谢谢ヽ(爱´∀‘爱)ノ
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
win7不能浏览网页,但用搜狗浏览器高速模式能上网,兼容就不行???求 ... ...64位 IE浏览器无法打开网页 搜狗浏览器可以打开 类似的新窗口网页都... 千牛工作台子账号怎么开权限?子账号的安全设置在哪里? 千牛怎么设置子账号-千牛设置子账号步骤 怎么把CD里的歌曲改成MP3格式? ...戴眼镜吗?想给孩子去检查一下,哪里比较推荐,渭南这块的 Windows Media Player将CD音乐转换为MP3 最简单的方法将CD转换为MP3音频文件(一步一步教你将CD音乐转换为MP3格 ... 孩子最近视力下降了有可能是近视吗?渭南哪里可以免费检查视力啊 奥运会跳远世界纪录 每天晚上都睡不着?被蚊子咬烦死了?怎么办? 晚上蚊子咬的睡不着,怎么办? 我的脚被蚊子叮了20个包,很痒而且很痛,每天晚上都痒得睡不着,请问有什么有效的方法来治疗? 孩子被蚊虫叮咬,晚上睡不着觉怎么办 晚上蚊子太多,咬的我睡不着! 被蚊子咬的彻夜难眠了 晚上被蚊子咬的睡不着,有什么秘方么?? 被蚊子咬得全身都痒睡不着怎么办? 一到夏天就有蚊子吵的睡不着觉,该怎么办 被蚊子咬了痒得睡不着,是怎么回事来的 基金单位净值和累计净值分别是什么? 兴业银行信用卡已经开始征信审核中了大概几天会知道结果呀 基金上的单位净值与累计净值有什么不同? 兴业银行信用卡多长时间能办下来 基金的单位净值和累计净值有什么区别?赎回时是怎么算? 申请兴业银行信用卡需要多长时间 基金单位净值和累计净值分别是什么谁知道 兴业信用卡从申请多久拿卡 我刚刚办了兴业银行的信用卡,大概什么时候能收到卡呀? 兴业银行信用卡 已核准 制卡中 要多久到手上 贷款买车银行审批要多久 ? 贷款买车,银行审批一般要多久? 怎样清除百度内存空间 内存空间怎么清理? 看到动画这两个字,你首先会想到哪些经典场景? 什么是复式?复式住房有哪些优点? 为什么买房很少有人挑“复式房”? 复式房子好不好? 复式房子好不好 详解复式楼的优缺点及对比 市中心步梯顶楼复试能买吗? 什么是复式房?为什么现在很少有人买“复式房”? 电脑连不上wifi红叉 我家复式楼,市中心,98年建的,能卖多少? 复式的房子,都有哪些优缺点? 上海市市中心近地铁旁复式loft双面落地窗阳光公寓怎么样?有什么好玩的地方? 复式房是什么意思 什么是复式房?复式房的优缺点各是什么? 复式户型有什么特点及优点,适合怎样的人选购 什么是复式房子,复式房好不好 复式楼房和普通房子有什么优缺点?