- Slim framework คือ RESTFul php framework ตัวหนึ่ง ที่ลองหัดติดตั้งและใช้งานครั้งแรก
- เอาไว้เขียน RESTFul service ไว้ใช้งานเอง
- Slim 4 ใช้ php 7.2++ นะคับ
Env
- Slim 4
- Ubuntu 20.04 + LAMP
- apache enabled mod_rewrite
- PHP 7.4.x
- path doc root => /var/www/html
- domain => www.mysite.com
การติดตั้งทำได้หลายวิธี แต่จะนำเสนอแค่ 2 วิธี
Method 1 downlaod zip file แตกไฟล์ใช้เลย
- https://github.com/slimphp/Slim-Skeleton
- จากภาพดาวน์โหลดมาจะได้ไฟล์ Slim...zip ในนั้นจะมี 1 folder
- ให้แตกไฟล์ โดยเอา folder Slim-Skeleton-master ไปวางไว้ www root path
- แล้วเปลี่ยนชื่อ folder ให้เป็นตามที่เราต้องการ เช่น myslim
- เราจะได้ พาธอยู่ประมาณนี้ /var/www/html/myslim
Method 2 ด้วย composer
- ในกรณีไม่มี composer ในระบบให้เราติดตั้งด้วยคำสั่งแบบนี้
$ curl -sS https://getcomposer.org/installer | php
$ mv composer.phar /usr/local/bin/composer
$ chmod +x /usr/local/bin/composer
- หรือ สั้นๆ ง่ายๆ ก็ apt install ซะ
$ sudo apt install composer
- จากนั้นติดตั้ง Slim ด้วยคำสั่งประมาณนี้
composer create-project slim/slim-skeleton [my-app-name]
- ตัวอย่างเช่น
$ cd /var/www/html
$ composer create-project slim/slim-skeleton myslim
- เราจะได้ folder ตามนี้ /var/www/html/myslim
ทดสอบระบบติดตั้งเรียบร้อย
- โดยเข้าไปที่ www.mysite.com/myslim จะได้ผลประมาณนี้
- หรือต้องเข้าไป public แบบนี้หว่า www.mysite.com/myslim/public จะได้ประมาณนี้
- แก้ไขเวลาเข้า public ให้แสดงผลได้ก่อนแล้วกัน โดย $app->setBasePath('/[myapp/public]');
- ในไฟล์ public/index.php หรือ app/routes.php
- ใน public/index.php เพิ่ม $app->setBasePath('/myslim/public'); ประมาณบรรทัด 39
- หรือใน app/routes.php เพิ่ม $app->setBasePath('/myslim/public'); ประมาณบรรทัด 12
- เพิ่มที่ไฟล์ใด ไฟล์หนึ่งก็พอนะ
- ที่นี้ลองเข้า www.mysite.com/myslim/public
- ขึ้นแบบนี้แสดงว่าใช้งานได้แล้ว ให้เพิ่ม method get post put ใน app/routes.php ได้เลย
- แต่ตอนเรียกใช้งานต้องเรียผ่าน myapp/public นี่แหละ ไม่ค่อยเข้าท่าเลย
- ซึ่งเราแก้ไขโดยเพิ่ม .htaccess ภายใต้ myapp ของเราในที่นี้คือ myslim/.htaccess และเพิ่มคอนฟิกแบบนี้ในไฟล์นี้
RewriteEngine onRewriteRule ^$ public/ [L]RewriteRule (.*) public/$1 [L]
- จากนั้นแก้ไข $app->setBasePath('/myslim/public'); แก้เป็น $app->setBasePath('/myslim');
- เรียกใช้งานโดย www.mysite.com/myslim/ อันนี้เค้าเรียก ทำเป็น subdirectory
Ref
- https://app.wftutorials.com/Getting-started-with-the-PHP-Slim-framework-version-4
- https://www.slimframework.com/docs/v4/start/web-servers.html
No comments:
Post a Comment