类文件之间的PHP调用函数/方法

类文件之间的PHP调用函数/方法,php,class,Php,Class,我需要从一个单独的类文件调用一个函数,比如说: class Functions { public function seoUrl($string) { $string = strtolower($string); $string = preg_replace("~[^\p{L}\p{N}\n]+~u", "-", $string); $string = preg_replace("/[\s-]+/", " ", $string);

我需要从一个单独的类文件调用一个函数,比如说:

class Functions {

    public function seoUrl($string)
    {
       $string = strtolower($string);
       $string = preg_replace("~[^\p{L}\p{N}\n]+~u", "-", $string);
       $string = preg_replace("/[\s-]+/", " ", $string);
       $string = preg_replace("/[\s_]/", "-", $string);
       return $string;
    }

}
我希望在另一个类文件中调用
Functions::seoUrl()

class Product {

    public function goto_url($url)
    {
       return Functions::seoUrl($url);
    }

}
我得到一个错误:

致命错误:在C:\xampp\htdocs中找不到类“Functions”

Functions::seoUrl()是调用静态方法的方法。您需要将方法seoUrl(string)声明为静态,或者为函数类创建一个对象

$functions = new Functions();
$functions->seoUrl(string);
Functions::seoUrl()是调用静态方法的方法。您需要将方法seoUrl(string)声明为静态,或者为函数类创建一个对象

$functions = new Functions();
$functions->seoUrl(string);

在这里,您会因为您的
PHP
无法定位
类函数而致命。为此,您有两个选择,要么您
需要该文件,要么为此添加一些
自动加载

<?php

require_once 'Functions.php'// where your Class functions resides.

class Product
{

    public function goto_url($url)
    {
        return Functions::seoUrl($url);
    }

}

在这里,仅仅因为您的
PHP
无法定位
类函数
,您就有两个选择,要么您
需要
该文件,要么为此添加一些
自动加载

<?php

require_once 'Functions.php'// where your Class functions resides.

class Product
{

    public function goto_url($url)
    {
        return Functions::seoUrl($url);
    }

}

在php方面不太在行,但有几个问题可以帮助可能的回答者。该类是否在另一个文件中?而且您试图调用的函数似乎不是静态函数,这意味着除非您实例化它,否则它不应该工作。您是否使用
require
加载类
函数
?@a.Lau谢谢,我有
公共静态函数seoUrl($string)
现在我可以在不同的类中使用all方法。php不是很好,但有几个问题可以帮助可能的回答者。该类是否在另一个文件中?您试图调用的函数似乎不是静态函数,这意味着除非您实例化它,否则它不应该工作。您是否使用
require
加载类
函数
?@a.Lau谢谢,我有
公共静态函数seoUrl($string)
,现在我可以跨单独的类使用所有方法。