【发布时间】:2018-05-23 14:08:10
【问题描述】:
我希望创建自己的作曲家包,但在此之前,我试图更好地了解它应该如何组织,尤其是与继承的抽象类有关。
假设我有一些特定的项目,例如:
- 轿车、跑车等
- V6马达、V8马达等
- 自动变速箱、四速变速箱等
对于这些项目中的每一个,我都有控制器类、模型类、实体类和其他类。
我还有一些抽象类,例如 CarController、CarModel 等、MotorController、MotorModel 等,具体的类是通过继承扩展而来的。
然后组合将用于将零件注入汽车,将模型注入控制器等。
目录文件结构应该如何组织,该场景应该使用哪些命名空间?
我并不期望以下内容是正确的,但我会尝试一下,以便您更好地了解我目前对该主题的理解水平。我已经阅读了描述按功能和/或原型进行分组的帖子,我相信我应该首先按功能进行。以下假设命名空间名称为MyVendorName,子名称空间名称为Car,文件路径为/var/www/vendor。
那么也许我会这样做:
/var/www/vendor/my-vendor-name/src/Car/Controllers/AllMyAbstractControllers.php
/var/www/vendor/my-vendor-name/src/Car/Models/AllMyAbstractModels.php
/var/www/vendor/my-vendor-name/src/Car/Entities/AllMyAbstractEntities.php
/var/www/vendor/my-vendor-name/src/Car/Cars/SportsCar/AllSpecificSportsCar_Controller_Model_Entity_Classes.php
/var/www/vendor/my-vendor-name/src/Car/Cars/SedanCar/AllSpecificSedanCar_Controller_Model_Entity_Classes.php
/var/www/vendor/my-vendor-name/src/Car/Motors/V6Motor/AllSpecificV6Motor_Controller_Model_Entity_Classes.php
/var/www/vendor/my-vendor-name/src/Car/Motors/V8Motor/AllSpecificV8Motor_Controller_Model_Entity_Classes.php
etc, etc...
那么,我可以让\MyVendorName\Car\Cars\SportsCar\SportsCarController.php 扩展\MyVendorName\Car\Controllers\CarController.php。
我确定以上是错误的,只是作为示例提供。 PSR-4和composer应该如何组织抽象继承文件?
【问题讨论】:
标签: php namespaces composer-php psr-4