FuelPHP - เว็บแอปพลิเคชันง่ายๆ

ในบทนี้เราจะมาดูวิธีสร้างแอปพลิเคชั่นง่ายๆในกรอบงาน FuelPHP ตามที่กล่าวไว้ก่อนหน้านี้คุณทราบวิธีสร้างโครงการใหม่ในเชื้อเพลิง เราสามารถนำตัวอย่างรายละเอียดพนักงาน

เริ่มต้นด้วยการสร้างโปรเจ็กต์ชื่อพนักงานโดยใช้คำสั่งต่อไปนี้

oil create employee

หลังจากดำเนินการคำสั่งแล้วไฟล์ employee โครงการถูกสร้างขึ้นด้วยสิ่งต่อไปนี้ file structure -

employee 
├── CHANGELOG.md 
├── composer.json 
├── composer.lock 
├── composer.phar 
├── CONTRIBUTING.md 
├── fuel 
│   ├── app 
│   │   ├── bootstrap.php 
│   │   ├── cache 
│   │   ├── classes 
│   │   ├── config 
│   │   ├── lang 
│   │   ├── logs 
│   │   ├── migrations 
│   │   ├── modules 
│   │   ├── tasks 
│   │   ├── tests 
│   │   ├── themes 
│   │   ├── tmp 
│   │   ├── vendor 
│   │   └── views 
│   ├── core 
│   │   ├── base56.php 
│   │   ├── base.php 
│   │   ├── bootstrap.php
│   │   ├── bootstrap_phpunit.php 
│   │   ├── classes 
│   │   ├── composer.json 
│   │   ├── config 
│   │   ├── CONTRIBUTING.md 
│   │   ├── lang 
│   │   ├── phpunit.xml 
│   │   ├── tasks 
│   │   ├── tests 
│   │   ├── vendor 
│   │   └── views 
│   ├── packages 
│   │   ├── auth 
│   │   ├── email 
│   │   ├── oil 
│   │   ├── orm 
│   │   └── parser 
│   └── vendor 
│       ├── autoload.php 
│       ├── composer 
│       ├── fuelphp 
│       ├── michelf 
│       ├── monolog 
│       ├── phpseclib 
│       └── psr 
├── LICENSE.md 
├── oil 
├── public 
│   ├── assets 
│   │   ├── css 
│   │   ├── fonts 
│   │   ├── img 
│   │   └── js 
│   ├── favicon.ico 
│   ├── index.php 
│   └── web.config 
├── README.md 
└── TESTING.md  
42 directories, 21 files

โครงสร้างของแอปพลิเคชัน

กรอบงาน FuelPHP จัดเตรียมโครงสร้างแอปพลิเคชันที่มีการจัดระเบียบ ให้เราตรวจสอบไฟล์และโฟลเดอร์ที่สำคัญของแอปพลิเคชัน

  • fuel - มีไฟล์ PHP ทั้งหมด

  • public - มีเนื้อหาทั้งหมดที่เข้าถึงได้โดยตรงผ่านเบราว์เซอร์เช่น JavaScript, CSS, รูปภาพ ฯลฯ

  • oil- ไฟล์ปฏิบัติการที่ใช้ในการรันงานบรรทัดคำสั่งเช่นการสร้างโค้ดหรือการดีบักแบบโต้ตอบภายในแอปพลิเคชันของคุณ เป็นทางเลือก

  • fuel/app/- มีไฟล์ PHP เฉพาะแอปพลิเคชันทั้งหมด ประกอบด้วยโมเดลมุมมองและตัวควบคุม

  • fuel/core/ - นี่คือจุดที่กรอบเชื้อเพลิงอาศัยอยู่

  • fuel/packages/- มีแพ็คเกจเชื้อเพลิงทั้งหมด โดยค่าเริ่มต้นน้ำมันเชื้อเพลิงจะมีสามแพ็คเกจ: น้ำมันการตรวจสอบสิทธิ์และ orm แพ็คเกจเหล่านี้จะไม่ถูกโหลดเว้นแต่คุณจะต้องการ

  • fuel/app/config/- มีไฟล์คอนฟิกูเรชันที่เกี่ยวข้องกับแอพพลิเคชั่นทั้งหมด ไฟล์คอนฟิกแอปพลิเคชันหลักไฟล์ config.php อยู่ที่นี่

  • fuel/app/classes/- มีไฟล์ PHP ที่ใช้ MVC เฉพาะแอปพลิเคชันทั้งหมด ประกอบด้วยตัวควบคุมโมเดลคลาสผู้ช่วยไลบรารี ฯลฯ

  • fuel/app/classes/controller/ - วางคอนโทรลเลอร์ไว้ที่นี่

  • fuel/app/classes/model/ - วางโมเดลไว้ที่นี่

  • fuel/app/views/- มีไฟล์ดู ไม่มีหลักการตั้งชื่อเฉพาะสำหรับมุมมอง

เพิ่มตัวควบคุม

ตามที่กล่าวไว้ก่อนหน้านี้ FuelPHP เป็นไปตามรูปแบบการพัฒนา Model-View-Controller (MVC) MVC เป็นแนวทางซอฟต์แวร์ที่แยกตรรกะของแอปพลิเคชันออกจากการนำเสนอ ในรูปแบบ MVC คอนโทรลเลอร์มีบทบาทสำคัญและทุกหน้าเว็บในแอปพลิเคชันจะต้องได้รับการจัดการโดยคอนโทรลเลอร์ โดยค่าเริ่มต้นตัวควบคุมจะอยู่ในfuel/app/classes/controller/โฟลเดอร์ คุณสามารถสร้างคลาส Controller ของคุณเองได้ที่นี่

ย้ายไปที่ตำแหน่ง fuel / app / class / controller / และสร้างไฟล์ staff.php ในการสร้างคอนโทรลเลอร์ใหม่เพียงแค่ขยายคลาสคอนโทรลเลอร์ที่ให้บริการโดย FuelPHP ซึ่งกำหนดไว้ดังนี้

staff.php

<?php 
   class Controller_Employee extends Controller { 
      public function action_home() { 
         
         // functionality of the home page  
         echo "FuelPHP-Employee application!"; 
      } 
   }

ตอนนี้เราได้สร้างตัวควบคุมพนักงานและเพิ่มวิธีการสาธารณะ action_home ซึ่งพิมพ์ข้อความง่ายๆ

การกำหนดเส้นทาง

การกำหนดเส้นทางจะแก้ไข URI ของหน้าเว็บให้เป็นตัวควบคุมและการดำเนินการเฉพาะ ทุกหน้าเว็บในแอปพลิเคชัน FuelPHP ควรผ่านการกำหนดเส้นทางก่อนที่จะดำเนินการจริงของคอนโทรลเลอร์ โดยค่าเริ่มต้นคอนโทรลเลอร์แต่ละตัวสามารถแก้ไขได้โดยใช้รูปแบบ URI ต่อไปนี้

<controller>/<action>

ที่ไหน

  • controller คือชื่อของตัวควบคุมลบเนมสเปซพนักงาน

  • action คือชื่อของเมธอดลบคำหลัก action_ home

ตัวควบคุมที่สร้างขึ้นใหม่สามารถเข้าถึงได้โดย http://localhost:8080/employee/home และจะให้ผลลัพธ์ดังต่อไปนี้

ผลลัพธ์