douyi1779
2014-03-21 16:15
浏览 143
已采纳

Laravel 4 - 在视图中使用类函数

I was wondering if it is possible to use classes and define functions in a controller file , then call these methods inside views.

Right now :

I'm just writing normal php functions then inluding them inside the views like :

PHP FILE

function viewProfile() {

    function getUsername() {

    $username = Auth::user()->username;

    return $username;
    }

    function getName() {

    $name = Auth::user()->name;

    return $name;
    }

    function getEmail() {

    $email = Auth::user()->email;

    return $email;
    }

}

Views File :

<?php

include(app_path().'/scripts/profile.php'); 

viewProfile();

?>

<td><?php echo getUsername() ?></td>

I want to write it in classes instead like :

public class profile {


public static $username = Auth::user()->username;
public static $name = Auth::user()->]name;
public static $email = Auth::user()->email;

    function getUsername() {

    return $username;
    }

    function getName() {

    return $name;
    }


    function getEmail() {

    return $email;
    }


}

I tried creating a controller file and using the above code but doesn;t seem to work - i guess controllers can be used for routing functions only.

Is there any way to use the class above and link the view , so i can use its methods ?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 邀请回答

1条回答 默认 最新

  • dp411805872 2014-03-21 16:27
    最佳回答

    You just use blade to get what you want...

    in your view you do...

    <div>username: {{ Auth::user()->username }}</div>
    <div>name: {{ Auth::user()->name }}</div>
    <div>email: {{ Auth::user()->email }}</div>
    

    And that is mainly it, no need for classes or anything else.

    TIP To activate blade you just add the .blade.php extenstion

    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题