icom/ framework

ສ້າງ module ທຳອິດ.

ຈາກ source code ໄປຫາ API ທີ່ໃຊ້ງານໄດ້ — ພ້ອມຄຳສັ່ງ ແລະຜົນທີ່ຄວນໄດ້.

1. ກຽມ project

ດາວໂຫຼດ source ຈາກ Installation ແລະແຕກ ZIP. ໃຊ້ PHP 8.4.1+ ໃນສາຍ stable 8.4/8.5 ທີ່ຍັງມີການບຳລຸງຮັກສາ. ຄຳສັ່ງຂ້າງລຸ່ມແມ່ນສຳລັບ project ໃໝ່ໃນເຄື່ອງພັດທະນາ; project ເກົ່າຕ້ອງຮັກສາ APP_KEY ເດີມ.

example
cd icom-framework
php bin/compatibility.php --production
composer install
cp .env.example .env
php bin/icom key:generate
php bin/icom migrate

2. ສ້າງ Catalog

ຄຳສັ່ງນີ້ສ້າງ 5 ໄຟລ໌: provider, contract, application service, HTTP controller ແລະ README. ມັນປະຕິເສດຊື່ຫຼືປາຍທາງທີ່ບໍ່ຖືກຕ້ອງ ແລະບໍ່ຂຽນທັບ module ທີ່ມີແລ້ວ.

example
php bin/icom make:module Catalog

3. ລົງທະບຽນໃຫ້ຊັດເຈນ

ແກ້ config/modules.php ໃຫ້ return ລາຍການດັ່ງຕົວຢ່າງ. ຖ້າມີ module ອື່ນແລ້ວ ໃຫ້ເພີ່ມ Definition ໃສ່ລາຍການເດີມ. ການສ້າງໄຟລ໌ບໍ່ໄດ້ເປີດ route ອັດຕະໂນມັດ.

example
<?php
return [
    new \Icom\Modules\Definition(
        'Catalog', \App\Modules\Catalog\CatalogModule::class
    ),
];

4. ກວດ ແລະເປີດ server

modules:list ຄວນສະແດງ Catalog; architecture:check ຄວນລາຍງານ ok: true ແລະ violations: []. ຖ້າໃຊ້ --no-dev ຈະບໍ່ມີ PHP-Parser ສຳລັບ architecture check: ໃຫ້ກວດໃນເຄື່ອງພັດທະນາ/CI ທີ່ຕິດຕັ້ງ development dependencies.

example
composer dump-autoload
php bin/icom modules:list
php bin/icom architecture:check
composer verify
php -S localhost:8080 -t public bin/serve.php

5. ລອງ API ຈິງ

ເປີດ terminal ອີກໜ້າ ແລ້ວເອີ້ນ URL ນີ້. ຜົນຄວນເປັນ {"module":"Catalog","status":"ready"}. ຊື່ route ແມ່ນ catalog.summary. ຕົວຢ່າງຕັ້ງຕົ້ນສົ່ງພຽງຂໍ້ມູນຄົງທີ່; ກ່ອນເພີ່ມຂໍ້ມູນສ່ວນຕົວ ຕ້ອງເພີ່ມ authentication, permission ແລະ tenant checks.

example
curl -i http://localhost:8080/modules/catalog/summary

ໄຟລ໌ໃດເຮັດຫຍັງ?

example
app/Modules/Catalog/
  CatalogModule.php                 Register bindings and routes
  Contracts/CatalogSummary.php      Public interface
  Application/DescribeCatalog.php   Implement the use case
  Http/CatalogController.php        Convert the result to HTTP JSON
  README.md                        Module-specific instructions

Request → middleware → controller → contract → service → response

ຮຽນຕໍ່ຕາມລຳດັບ

ເລີ່ມຈາກ Modules ເພື່ອເຂົ້າໃຈ dependencies, ຕໍ່ດ້ວຍ Cursor pagination ແລະຕົວຢ່າງ Catalog/Sales. ຫຼັງຈາກນັ້ນອ່ານ Large applications ເພື່ອວາງແຜນຖານຂໍ້ມູນ, queues ແລະການຂະຫຍາຍລະບົບ.

Download Lao developer guide ↗

Modules & boundaries ↗

Cursor pagination ↗

Large applications ↗

Developer preview — benchmark claims require reproducible evidence.

Explore the architecture