Q - วิธีการแก้ไข้ปัญหาการเรียกใช้งาน extention แล้วพบว่า เกิด error ว่าไม่มีการระบุ "mindphp.sample1.controller"

สำหรับผู้ที่ เริ่มต้น Programming - PHP มีอะไร แนะนำ หรือข้อสงสัยต้องบอร์ด นี้ คนที่มีความรู้ แบ่งปันคนอื่นบ้างนะ ปัญหาการเขียนโปรแกรม แบบ OOP Session Cookies php network

Moderator: mindphp, ผู้ดูแลกระดาน

ภาพประจำตัวสมาชิก
Ittichai_chupol
PHP VIP Members
PHP VIP Members
โพสต์: 2667
ลงทะเบียนเมื่อ: 19/09/2018 10:33 am

Q - วิธีการแก้ไข้ปัญหาการเรียกใช้งาน extention แล้วพบว่า เกิด error ว่าไม่มีการระบุ "mindphp.sample1.controller"

โพสต์โดย Ittichai_chupol » 08/10/2018 5:09 pm

ตอนนี้ผมกำลังฝึกหัดเขียน extention ซึ่งตอนนี้ผมได้ทำการสร้างไฟล์ขึ้นมา 3 ไฟล์ นั้นคือ
ไฟล์ main.php ซึ่งเป็นไฟล์หลักของการทำงาน
ไฟล์ routing.yml เป็นไฟล์ที่ใช้เป็นเส้นทาง
ไฟล์ services.yml เป็นไฟล์ที่ส่งค่าไปยัง ไฟล์ main.php


โดยเมื่อได้ทดสอบไฟล์พบว่า มี error เกิดขึ้น ดังภาพ
รูปภาพ

โดย error ที่าเกิดขึ้นได้ระบุว่า

โค้ด: เลือกทั้งหมด

ไม่มีการระบุ service "mindphp.sample1.controller" ใน ./config/services.yml.


จึงอยากทราบว่ามีวิธีรการแก้ไข้ได้อย่างๆรบ้าง ต้องไประบุส่วนไหนเพิ่มครับ


ไฟล์ services.yml

โค้ด: เลือกทั้งหมด

services :
     mindphp.sample1.controller:
        class :  mindphp\sample1\controller\main //เรียก class
        argumemts:  //ระบุตัวแปรที่ต้องการจะใช้
            -  @config
             -  @template
              -  @user
              -  @controller.helper
              - %core.root_path%
            - %core.php_ext%


ไฟล์ routing.yml

โค้ด: เลือกทั้งหมด

sample1_controller:
    pattern:  /sample1/{name}
    defaults: {  __controller:  mindphp.sample1.controller :base , page: 1 } กำหนดเส้นทางที่จะเรียกใช้งาน


ไฟล์ main.php

โค้ด: เลือกทั้งหมด

<?php

namespace mindphp\sample1\controller;
class main
{
    public function  _construct(\phpbb\config\config $config,
             \phpbb\template\template $template,
              \phpbb\user $user,
              \phpbb\controller\helper $helper,
        $root_path, $php_ext) //เรียกใช้งาน construct
   {
        $this->template = $template;
      $this->config = $config;
      $this->user = $user;
      $this->helper = $helper;
      $this->root_path = $root_path;
      $this->php_ext = $php_ext;
   } กำหนดตัวแปร
        function base ($page = 1)
                {
               
                return  $this->helper->render('sample1.html'); //เรียกใช้งาน template
        }
}




ภาพประจำตัวสมาชิก
thatsawan
PHP VIP Members
PHP VIP Members
โพสต์: 18100
ลงทะเบียนเมื่อ: 31/03/2014 10:02 am
ติดต่อ:

Re: Q - วิธีการแก้ไข้ปัญหาการเรียกใช้งาน extention แล้วพบว่า เกิด error ว่าไม่มีการระบุ "mindphp.sample1.controller"

โพสต์โดย thatsawan » 08/10/2018 6:42 pm

ลองทำไฟล์นี้ services.yml ให้ เรียง format ดูเยื้องหน้า ตามระดับชั้น ให้ถูก เเต่ละบรรทัด

โค้ด: เลือกทั้งหมด

services :
     mindphp.sample1.controller:
        class :  mindphp\sample1\controller\main //เรียก class
        argumemts:  //ระบุตัวแปรที่ต้องการจะใช้
            -  @config
            -  @template
            -  @user
            -  @controller.helper
            -  %core.root_path%
            -  %core.php_ext%


รูปภาพ


ย้อนกลับไปยัง

ผู้ใช้งานขณะนี้

กำลังดูบอร์ดนี้: 65 และ บุคคลทั่วไป 0 ท่าน