2014-02-13 2 views
0

차트로 인쇄 할 나뭇 symfony2의 배열 값 :액세스 I 요소의 배열을

array(7) { 
    [0]=> 
    array(2) { 
    [0]=> 
    array(0) { 
    } 
    [1]=> 
    string(22) "/app_dev.php/users/new" 
    } 
    [1]=> 
    array(2) { 
    [0]=> 
    array(0) { 
    } 
    [1]=> 
    string(19) "/app_dev.php/users/" 
    } 



    [2]=> 
    array(2) { 
[0]=> 
    array(1) { 
     [0]=> 
     object(BTI\RepSysBundle\Objects\gapiReportEntry)#359 (2) { 
     ["metrics":"BTI\RepSysBundle\Objects\gapiReportEntry":private]=> 
     array(1) { 
      ["pageviews"]=> 
      int(54) 
     } 
     ["dimensions":"BTI\RepSysBundle\Objects\gapiReportEntry":private]=> 
     array(1) { 
      ["dimension1"]=> 
      string(14) "rainercedric23" 
     } 
     } 
    } 
    [1]=> 
    string(30) "/app_local.php/admin/analytics" 
    } 
    [3]=> 
    array(2) { 
    [0]=> 
    array(0) { 
    } 
    [1]=> 
    string(16) "/admin/analytics" 
    } 
} 

문제 I는 "/app_dev.php/users/new 같은 문자열 값을 액세스 할 수있다 "이 코드에 의해

{{foo는 [0] 0.1}}

하지만 메트릭 및 페이지 뷰 내가이 일

을 시도하고와 개체에 액세스 할 수없는 것

{{foo는 [2] .0.0.metrics.pageviews}}

그러나이 작동하지 않는, 사람이 객체 요소에 액세스 할 수있는 아이디어가? 나는이 서비스가 :

<?php 

namespace BTI\RepSysBundle\Services; 

use BTI\RepSysBundle\Objects\Gapi; 

class GapiManager { 
public function GAPIGetter() { 
    $Gapi = new Gapi('[email protected]', 'somepassword'); 
    $path = array("/app_dev.php/users/new", 
     "/app_dev.php/users/", 
     "/app_local.php/admin/analytics", 
     "/admin/analytics", 
     "/app_dev.php/account/", 
     "/app_dev.php", 
     "/app_dev.php/account/new" 
    ); 

    foreach ($path as $filterpath) { 
     $filters[] = "ga:pagePath==" . $filterpath; 
    } 
    $ctr = 0; 
    foreach ($filters as $filter) { 
     $Gapisquery[] = array($Gapi->requestReportData('81757262', array('dimension1'), array('pageviews'), 'pageviews', $filter), $path[$ctr]); 
     $ctr++; 
    } 



    return array_filter($Gapisquery); 
} 

} 

기본적으로이 서비스 요청 Google 웹 로그 분석에서 보고서 데이터를하고 언급 한 각각의 URL 경로에서 페이지 뷰를 돌려줍니다. 문제는 Gapi 클래스에서 private 객체를 반환한다는 것입니다.

답변

1

metrics 속성은 개인입니다. 당신 같은이 속성에 대한 게터를 작성해야 : 그 후

// file BTI\RepSysBundle\Objects\gapiReportEntry.php 
namespace BTI\RepSysBundle\Objects; 

class gapiReportEntry{ 
    // other code 
    public function getMetrics{ 
     return $this->metrics; 
    } 
} 

당신이 object.metrics 통해 나뭇 가지에 액세스 할 수 있습니다.

나뭇 가지에 대한 설명서를 읽으십시오. Twig Variables.

+0

나는 정말로 혼란 스럽다. 개인적으로 사용하고 액세스 한 차트이지만, 액세스 할 수없는 뭔가를 변경하는 순간에는 액세스했다. – Cedric

+0

이 코드는 이미 내 객체에 있습니다.'public function getDimesions() { return $ this-> dimensions; }'메트릭과 동일합니다. – Cedric

+0

그래서'metrics' 속성에 대한 getter를 작성해야합니다. 내 answe를 업데이트하고 문서 링크를 추가하십시오. 읽으십시오. – NHG

관련 문제