将自定义函数添加到类

时间:2015-04-13 14:33:19

标签: php laravel laravel-5

我想要做的就是向我的控制器添加一个自定义方法,以便我可以在我的控制器内的其他方法中重用它们。例如:

class SampleController extends Controller {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
        generateCode();
        sendEmail();
    }

    /**
     * Show the form for creating a new resource.
     *
     * @return Response
     */
    public function create()
    {
        //
    }

    /**
     * Store a newly created resource in storage.
     *
     * @return Response
     */
    public function store()
    {
        //
    }

    /**
     * Display the specified resource.
     *
     * @param  int  $id
     * @return Response
     */
    public function show($id)
    {
        //
    }

    /**
     * Show the form for editing the specified resource.
     *
     * @param  int  $id
     * @return Response
     */
    public function edit($id)
    {
        //
    }

    /**
     * Update the specified resource in storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function update($id)
    {
        //
    }

    /**
     * Remove the specified resource from storage.
     *
     * @param  int  $id
     * @return Response
     */
    public function destroy($id)
    {
        //
    }

    /**
     * Custom Functions
     */
    function sendEmail()
    {

    }

    function generateCode()
    {

    }
}

在这里,我只想在我的索引方法中调用sendEmail()generateCode(),但我一直没有定义函数。

1 个答案:

答案 0 :(得分:1)

它们不是全局函数,所以你不能那样使用它们。它们是具有范围的类方法。请注意我为您所做的更改:

<?php

class SampleController extends Controller {

    /**
     * Display a listing of the resource.
     *
     * @return Response
     */
    public function index()
    {
        $this->generateCode();
        $this->sendEmail();
    }

    // . . .

    /**
     * Custom Functions
     */
    private function sendEmail()
    {

    }

    private function generateCode()
    {

    }
}

你真的应该做一些OOP PHP教程,或阅读一些书籍,或参加一门课程。这是非常基本的东西,你不应该问堆栈溢出。

http://php.net/manual/en/language.oop5.php