ฉันโฮสต์แอพใน Heroku และฉันใช้การรวมอย่างต่อเนื่องเพื่อจัดส่งการเปลี่ยนแปลงโดยอัตโนมัติและทันที (เพิ่มเติมในภายหลัง) คุณสามารถเยี่ยมชมแอพโดยใช้ลิงค์ต่อไปนี้:
http://simple-todo-rs.herokuapp.com/
บนแบ็กเอนด์ฉันได้สร้างสิ่งต่อไปนี้:
แอพนี้ถูกสร้างขึ้นโดยใช้วิธีการที่มุ่งเน้นวัตถุโดยสิ้นเชิงและมีการสนับสนุนประเภทที่แข็งแกร่งซึ่งอาจตรวจจับการหยุดพักในระหว่างขั้นตอนการพัฒนาและเพิ่มความเร็ว
สำหรับการทดสอบหน่วยฉันใช้ phpunit แม้ว่าฉันจะเริ่มเขียนการทดสอบและดำเนินการต่อไปแล้ว แต่ก็ยังต้องใช้เวลาในการครอบคลุมรหัสฐานทั้งหมด
เกี่ยวกับความคิดเห็นเนื่องจากแอปครอบคลุมคุณสมบัติมากมายฉันได้พยายามเขียนรหัส Verbosely เพื่อที่จะไม่จำเป็นต้องมีความคิดเห็นเพื่อทำความเข้าใจรหัส (เพื่อจัดการเวลา dev ของฉัน) แต่ยังคงแสดงความคิดเห็นคือ de พฤตินัยสำหรับหมอ ฉันจะพยายามใช้รหัสทั้งหมดภายใต้ความคิดเห็นตามเวลา
[หมายเหตุ: แอพใช้การทดสอบอัตโนมัติในแต่ละการกด แต่จะใช้กับ Heroku หากการทดสอบสำเร็จ]
สำหรับฐานข้อมูลฉันใช้ PostgreSQL และเพื่อจัดการการดำเนินการฐานข้อมูลฉันได้ใช้ PDD PDO เพื่อ perfom แทรกลบการปรับปรุง ฯลฯ การดำเนินงาน
เป็นบันทึกด้านข้างสำหรับการจัดการ Composer การพึ่งพา
หากคุณต้องการเรียกใช้แอพนี้ในพื้นที่สำหรับการใช้งานหรือการพัฒนาของคุณเองคุณสามารถทำได้อย่างง่ายดาย ตรวจสอบให้แน่ใจว่าคุณติดตั้ง PHP, Composer และ PostgreSQL ที่ติดตั้งในพีซีของคุณและการเชื่อมต่ออินเทอร์เน็ต
ในตอนแรก Run Composer เพื่อติดตั้งการพึ่งพา:
$ php composer.phar install ตอนนี้สร้าง .env ในไดเรกทอรีรากโครงการและใส่ข้อมูล DB ของคุณไว้ที่นั่นดังนี้:
DATABASE_URL=postgres:// < username > : < password > @ < hostname > : < port > / < dbname >คุณอาจต้องการใส่ข้อมูลอื่น ๆ ในไฟล์. ENV ของคุณ (ทำตามความต้องการของคุณ)
จากนั้นเรียกใช้:
$ php database/migrate.phpหลังจากสร้างตาราง db คุณอาจเรียกใช้การทดสอบ:
$ ./vendor/bin/phpunitหากการทดสอบสำเร็จคุณสามารถเรียกใช้แอพโดยใช้เว็บเซิร์ฟเวอร์การพัฒนาของ PHP ดังนี้:
$ php -c < path-to-php.ini > -t public/ -S 127.0.0.1:8000 ตอนนี้เยี่ยมชม 127.0.0.1:8000 บนเบราว์เซอร์ของคุณเพื่อใช้ WebApp
ฉันใช้ phpunit สำหรับการทดสอบหน่วยและสคริปต์ที่แก้ไขเล็กน้อย (ตามความต้องการของฉัน) จาก DevCoder-XYZ/PHP-DOTENV เพื่อแยกวิเคราะห์ไฟล์. .env
ที่เก็บนี้เผยแพร่ภายใต้ MIT License หากต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับใบอนุญาตกรุณาเยี่ยมชมลิงค์นี้
ฉันกำลังคิดที่จะอธิบายสถาปัตยกรรมทั้งหมดของโครงการนี้ให้กับทุกคนที่สนใจในการพัฒนา WebApp ฉันกำลังคิดที่จะวางแผนหนังสือ (หรือทรัพยากรประเภทการสอน) เกี่ยวกับวิธีการสร้างเว็บแอปพลิเคชันตั้งแต่เริ่มต้น หากคุณมีสิ่งใดที่จะมีส่วนร่วมหรือให้คำแนะนำฉันทุกคนหู แค่ให้ฉันเคาะ