PHPackages                             nawawishkid/ui-factory - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. nawawishkid/ui-factory

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

nawawishkid/ui-factory
======================

PHP user interface design system

0.1.1(7y ago)021MITPHPPHP &gt;=7.0

Since Apr 22Pushed 7y agoCompare

[ Source](https://github.com/nawawishkid/ui-factory)[ Packagist](https://packagist.org/packages/nawawishkid/ui-factory)[ Docs](https://github.com/nawawishkid/ui-factory)[ RSS](/packages/nawawishkid-ui-factory/feed)WikiDiscussions master Synced 2mo ago

READMEChangelogDependencies (1)Versions (4)Used By (0)

PHP UI Factory
==============

[](#php-ui-factory)

**I read about 'Abstract factory pattern' and ended up making this repo :D**

Download via composer `composer require nawawishkid/ui-factory:dev-master`

เครื่องมือที่จะช่วยให้เราสามารถเขียน user interface component เก็บไว้ใช้ซ้ำได้ และยังสามารถปรับแต่ง component ที่สร้างไว้ได้อย่างไร้ขีดจำกัด เช่น เราเขียน card component แต่ตอนเอาไปใช้ซ้ำ เราอาจจะเปลี่ยนให้มันกลายเป็น button ก็ยังได้ (คงไม่มีใครทำอ่ะครับ แค่ยกตัวอย่างเฉย ๆ) ความยืดหยุ่นในการปรับแต่งจะมากน้อยแค่ไหนก็ขึ้นอยู่กับเราจะเขียน component ไว้ยังไง

การใช้งาน UI Factory จะแบ่งเป็น 2 ส่วนหลักนะครับ ส่วนแรกคือการ ***สร้างและใช้งาน*** component อีกส่วนคือการ ***ปรับแต่ง*** component ที่สร้างไว้

1. การสร้างและใช้งาน component
------------------------------

[](#1-การสร้างและใช้งาน-component)

เราสร้าง component ได้ 2 วิธี คือ:

1. เขียน class ที่ `extends` `UIFactory\Component` class หรือ
2. สร้าง object ใหม่จาก `Base` class

### 1.1 Extends `Component` class

[](#11-extends-component-class)

ลองมาดูภาพรวมของ `Button` component class ที่เขียนเสร็จแล้ว ใช้งานได้เลย กันก่อนครับ:

```
