如何从网页上的函数中调用php类的函数

时间:2012-11-16 02:50:54

标签: php javascript html function web

代码示例;

PHP网页:(index.php)

 <html><head></head>
    <body>
    <?php 
    include("class_validation.php");
    $val = new validation();

        if(isset($_POST['action'])) doSomething();

    function doSomething() {
        $val->validate(); //I AM UNABLE TO DO THIS!
    }
    ?>
    </body>
    </html>

PHP文件:(class_validation.php)

<?php
class validation()
{
    function validate(){
        //some validation
    }
}
?>

问题:如何在我在PHP网页中创建的函数中调用'class_validation.php'文件中的函数?我可以正确调用函数doSomething()以及函数$ val-&gt; validate();当不在另一个功能。我有办法做到这一点吗?

2 个答案:

答案 0 :(得分:3)

$val超出了doSomething()函数调用的范围。将它作为参数传递给函数:

// Define the function to accept a parameter. Use a type hint to be sure it is 
// a validation object
function doSomething(validation $val) {
  $val->validate(); 
}

if(isset($_POST['action'])) doSomething($val);

PHP documentation on type hinting

或者, 不推荐 ,您可以使用函数内的global关键字来引用全局$val

function doSomething() {
  // Don't do it this way. The func parameter is preferred
  global $val;
  $val->validate(); 
}

答案 1 :(得分:0)

您似乎在寻找关闭支持,仅适用于anonymous functions

根据您的代码示例,它似乎不是一个正确的用例。也许您应该将此值作为函数参数传递?