vue 自己写上传excel组件_从零开始写一个自己的基于注解的RBAC组件-01

Composer是PHP中用来管理依赖关系的工具,我们可以在composer.json文件中声明我们需要的组件,composer就会帮我们安装这些组件。有了他,我们再也不用在自己的项目中拷贝大量的组件代码,也不用担心我们的组件库因为到处拷贝而出现组件的丢失或冗余,作为一个PHPer,Composer已经成为了一个必会的工具。

aa6a012bed0c51705c182808f8d422d5.png

composer

Composer不仅仅可以让我们轻松的使用大佬们给我们封装好的组件,我们也可以通过他来封装我们自己的组件,让我们的组件也可以通过他来管理,从而方便我们的开发。接下来,让我们一起来试着开发一个自己的基于注解的RBAC权限控制组件吧!

其实我们PHP在PHP8之前,是没有真正意义上的注解的,只有注释,也就是写在/* 和 */之间的字符,但是,我们可以通过PHP的反射来获取到这些注释字符串,从而解析里面的内容,实现我们的逻辑。

下面我们开始第一步,搭建一个组件骨架。

先创建一个目录my_rbac作为我们组件的根目录,然后我们进入到创建的目录中,在目录下创建src目录作为源代码目录,并且创建composer.json文件。

e9ff4f0ce177ed9279120b0c04070ccb.png

目录结构

我们在composer.json文件中写入以下内容(记得把//后面的注释去掉哦):

{       "name": "cs/myrbac",//表示包的名称,由作者名称和项目名称组成,使用 / 分割       "description": "基于注解的RBAC权限控制",//描述       "type": "library",//表示包的类型,默认为库 library       "license": "MIT",//表示包的许可证       "keywords": [ //表示一组用于搜索与筛选的与包相关的关键字           "annotaion",           "RBAC"       ],       "authors": [//表示包的作者           {               "name": "wekphp",               "email": "wekyun@qq.com"           }       ],       "minimum-stability": "dev",//稳定性过滤包的默认值,默认为stable       "require": {//表示必须安装的依赖包列表,这些包必须满足条件,否则不会安装           "php": ">=7.2.0"       },       "autoload": {//表示PHP 自动加载的映射           "psr-4": {//推荐使用 PSR-4 规范               "AnnotationRBAC": "src"//注意这里和命名空间相对应               //路径的前半部分代表命名空间 后半部分代表路径           }       }   }  

然后我们在src目录中新建一个AnnotationParse.php类,先随便写一个测试方法吧!

<?php       // 记得写命名空间,要和composer.json文件中的PSR-4中的命名空间一致哦   namespace AnnotationRBAC;      /**   * 注解解析类   * Class AnnotationParse   * @package AnnotationRBAC   */   class AnnotationParse   {       public function index()       {           echo 'AnnotationParse@index';       }   }  

接下来我们在根目录路径下执行composer install,成功后会在根目录生成vendor目录和composer.lock文件。

6323622224ef73aa81db363c2c44ef8b.png

自动生成了相关文件

我们来创建一个入口文件测试一下能不能运行吧,根目录新建index.php文件,写入以下代码:

<?php   // 包含自动加载文件  require_once './vendor/autoload.php';     // 实例化类并调用测试方法  $parse = new AnnotationRBACAnnotationParse();   $parse->index();  

最后让我们在根目录下执行 php index.php,如果能正确输出测试方法中的字符串,我们的骨架就搭建好了!

下一篇文章,我们将实现AnnotationParse.php类中的功能!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值