最近一直在看webman,慢慢看,水平不够,很多东西还不是很懂。
结合以往的一些开发经验。感觉,如果webman可以用配置的方式实现组件化开发,应该会很不错。
举一个例子,比如yii里边,如果想要获取用户id,可以直接用Yii::$app->user->id来获取。这是直接调用了Yii的user组件。并且user组件是完全可以从配置文件中自定义的。
用webman的时候,发现不管是使用数据库还是其他组件,都是use引入某个类,直接写代码。
那么webman能否实现这种功能呢?比如,能在代码中使用类似这种:Webman::$app->oss->xxx()
感觉这样开发起来会比较方便
所有组件都用
Webman::$app->xxx->xxx()
这种方式?感觉没有直接use方便啊。
比如数据库组件:
和
明显
Db::table('blog');
比Webman::$app->db->table('blog')
简洁,少打很多字。而且
Webman::$app->db
这种入侵太强,耦合度高,如果换个框架要用这个组件简直没法用。数据库的操作这个,不是很典型。平时也不会直接用Webman::$app->db->table('blog')这种方式来做,而是采用模型类来写。比如Blog::find()->xxx()这种方式。
我说的意思,比如一个阿里云oss上传组件,我们可能会在很多地方调用它。如果不组件化配置,那么每次用的时候,都需要use引入组件类,实例化,然后再调用方法。
我意思是,像这种需求。可以直接从某个配置文件里,把oss配置进去,那么每个需要上传文件的地方,直接用Webman::$app->oss->upload('file')这种形式来调用就可以了。
再举一个例子,比如一个user组件,实际程序中有很多地方会需要用到当前user的id,那么我们可以配置好之后,直接在用到的地方用Webman::$app->user->id直接来获取就好了。
哈哈找到方法了没有,分享一下兄弟。我也遇到你这样的问题的
请你了解一下 container di
这个插件了解一下 https://www.workerman.net/plugin/10,比你app更加方便,不用
use
。以下代码在任何地方都可以使用