Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]W funkcji nie działa metoda obiektu, a bez niej działa o co chodzi...
cve
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 18.09.2009

Ostrzeżenie: (0%)
-----


Witam to znów ja i pewnie znów z banalnym problemem, ale nie mogę sobie z nim tak prosto poradzić...
Mam taki kod:
  1. $role = 'guest';
  2. function menu($role) {
  3. for($i=0;$i<count($acl->$role->children());$i++) {
  4.  
  5. if($acl->$role->resource[$i]['label'] != '') {
  6. $navigation[$i]['href'] = $acl->$role->resource[$i]['name'];
  7. $navigation[$i]['label'] = $acl->$role->resource[$i]['label']; }
  8. }
  9. return $navigation;
  10. }

gdy próbuję wywołać:
  1. $role = 'guest';
  2. menu($role);

to dostaję komunikat:
  1. Fatal error: Call to a member function children() on a non-object

a kiedy wywołuję samą pętlę for z funkcji:
  1. $role = 'guest';
  2. for($i=0;$i<count($acl->$role->children());$i++) {
  3.  
  4. if($acl->$role->resource[$i]['label'] != '') {
  5. $navigation[$i]['href'] = $acl->$role->resource[$i]['name'];
  6. $navigation[$i]['label'] = $acl->$role->resource[$i]['label']; }
  7. }
  8. return $navigation;

to wszystko jest ok...
nie mam pojęcia od czego to zależy... bardzo proszę o jakąś pomoc...
Funkcja tak jakby 'opakowuje' zmienną $role, ale przecież to i tak jest cały czas string...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
marcio
post
Post #2





Grupa: Zarejestrowani
Postów: 2 291
Pomógł: 156
Dołączył: 23.09.2007
Skąd: ITALY-MILAN

Ostrzeżenie: (10%)
X----


  1. for($i=0;$i<count($acl->$role->children());$i++) {


Rozumiem ze w $acl->$role jest przechowywany obiekt?

$role to parametr funkcji jest takie pole w instacji klasy w zmiennej $acl?

Sprawdz http://php.net/manual/en/function.property-exists.php.

Bo nie wiem o co chodzi podaj tez kod $acl.


A jak nie to $acl nie ma zasiegu w srodku funckji to uzyj na samym poczatku.

  1. global $acl;

EDIT: oczywiscie tak jak mowi @drako w $acl mam nadzieje ze masz obiekt klasy do acl'a

Ten post edytował marcio 13.12.2009, 19:16:05
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 17.10.2025 - 11:19