表情:尝试在第15行的H:\ xampp \ htdocs \ ecommerce \ app \ libraries \ Core.php中访问类型为null的值的数组偏移量

问题描述

 <?PHP
  /*
   * App Core Class
   * Creates URL & loads core controller
   * URL FORMAT - /controller/method/params
   */
 class Core {
    protected $currentController = 'Pages';
    protected $currentMethod = 'index';
    protected $params = [];



public function __construct(){
      //print_r($this->getUrl());
      $url = $this->getUrl();
      // Look in controllers for first value
      if(file_exists('../app/controllers/' . ucwords($url[0]). '.PHP')){
        // If exists,set as controller
        $this->currentController = ucwords($url[0]);
        // Unset 0 Index
        unset($url[0]);
      }
      // Require the controller
      require_once '../app/controllers/'. $this->currentController . '.PHP';
      // Instantiate controller class
      $this->currentController = new $this->currentController;
      // Check for second part of url
      if(isset($url[1])){
        // Check to see if method exists in controller
        if(method_exists($this->currentController,$url[1])){
          $this->currentMethod = $url[1];
          // Unset 1 index
          unset($url[1]);
        }
      }
  

// Get params
      $this->params = $url ? array_values($url) : [];
      // Call a callback with array of params
      call_user_func_array([$this->currentController,$this->currentMethod],$this->params);
    }



public function getUrl(){
      if(isset($_GET['url'])){
        $url = rtrim($_GET['url'],'/');
        $url = filter_var($url,FILTER_SANITIZE_URL);
        $url = explode('/',$url);
        return $url;
      }
    }
  } 
  

上面的代码包含如下错误:试图在第18行的H:\ xampp \ htdocs \ ecommerce \ app \ libraries \ Core.PHP中访问类型为null的值的数组偏移量

require_once'../app/controllers/'。 $ this-> currentController。 '.PHP';

这是一行。当我使用domain.com输入网站时,显示错误;当我输入domian.com/post时,则没有问题

解决方法

我也遇到了这个问题。

if(file_exists('../app/controllers/' . ucwords($url[0]). '.php')){
      // If exists,set as controller
    $this->currentController = ucwords($url[0]);
    // Unset 0 Index
    unset($url[0]);
  }`

在这个地方也许你必须添加!empty($url[0])&&
file_exists 之前,这肯定是你的问题

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...