Toon posts:

[php] Functie met '=' ?

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb nu een stuk code dat perfect werkt, maar ik zou graag alles oop willen hebben en nu heb ik een probleem.
PHP:
1
2
3
4
5
<?php

while($permissions[] = mysql_fetch_assoc($result));

?>

Alleen nu zou ik graag het volgende willen hebben:
PHP:
1
2
3
4
5
<?php

while($usr->permissions($group, $permission) = mysql_fetch_assoc($result));

?>

Ik heb zeer mijn twijfels of dit mogelijk is, maar aangezien het wel kan met de functie list() vroeg ik het me af. Of kan dit alleen met C?

  • Osiris
  • Registratie: Januari 2000
  • Niet online
Ehm, probeer het eens zou ik zeggen? Kijk of je een error krijgt of niet hè :)

  • Spider.007
  • Registratie: December 2000
  • Niet online

Spider.007

* Tetragrammaton

moet kunnen hoor! (je kan het toch ook gewoon ff proberen?)

---
Prozium - The great nepenthe. Opiate of our masses. Glue of our great society. Salve and salvation, it has delivered us from pathos, from sorrow, the deepest chasms of melancholy and hate


  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 03 november 2002 @ 13:28:
Ik heb nu een stuk code dat perfect werkt, maar ik zou graag alles oop willen hebben en nu heb ik een probleem.
PHP:
1
2
3
4
5
<?php

while($permissions[] = mysql_fetch_assoc($result));

?>

Alleen nu zou ik graag het volgende willen hebben:
PHP:
1
2
3
4
5
<?php

while($usr->permissions($group, $permission) = mysql_fetch_assoc($result));

?>

Ik heb zeer mijn twijfels of dit mogelijk is, maar aangezien het wel kan met de functie list() vroeg ik het me af. Of kan dit alleen met C?
Nou ben ik geen C expert maar volgens mij valt C hier ook over...

En volgens mij is het niet mogelijk met php.

je kan wel dit doen..
PHP:
1
2
while($usr->permissions(mysql_fetch_assoc($result)) ) {
}
Spider.007 schreef op 03 november 2002 @ 13:32:
moet kunnen hoor! (je kan het toch ook gewoon ff proberen?)
Zal niet gaan werken....
Description
void list ( mixed ...)
http://www.php.net/manual/en/function.list.php

Programmer - an organism that turns coffee into software.


Verwijderd

Wat geeft de permissions methode terug? Dat zou een verwijzing moeten zijn naar een property of variabele. In jouw geval waarschijnlijk een array.

  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Als je zo OOP wilt werken gebruik dan mysql_fetch_object() :)

  • MikeN
  • Registratie: April 2001
  • Laatst online: 20:47
Uh, test het uit?
edit:

Ow, beetje laat :+

Verwijderd

Topicstarter
Uittesten heb ik uiteraard al gedaan (moet je dat er tegenwoordig ook al bij zetten?).

LuCarD; Ik heb dat ook al eens gebruikt, maar dan moet ik die permissions method een boolean laten returnen en dat vind ik niet zo'n nette oplossing.

Bosmonster; Het was maar een voorbeeldje, ik gebruik het niet letterlijk op deze manier...

Verwijderd

Verwijderd schreef op 03 november 2002 @ 13:42:
Uittesten heb ik uiteraard al gedaan (moet je dat er tegenwoordig ook al bij zetten?).

LuCarD; Ik heb dat ook al eens gebruikt, maar dan moet ik die permissions method een boolean laten returnen en dat vind ik niet zo'n nette oplossing.

Die boolean methode is wel een juiste hoor, dat vind ik ook een keurige oplossing.
Anders moet je binnen die permissions methode zoiets gebruiken als:

return &$property;

En ik meen me te herinneren dat PHP, Classes en references nog weleens brak kunnen zijn.

  • AaroN
  • Registratie: Februari 2001
  • Laatst online: 16-08-2023

AaroN

JayGTeam (213177)

is er niet een type map zoals in C++. Daarmee is het wel mogelijk.

JayGTeam (213177)


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Verwijderd schreef op 03 november 2002 @ 13:42:

Bosmonster; Het was maar een voorbeeldje, ik gebruik het niet letterlijk op deze manier...


Wat ik bedoel is als je een eigen class maakt en die laat vullen door mysql_fetch_object() oid, kun je er simpelweg daarna je methodes op uitvoeren.


PHP:
1
2
while ($myclass = mysql_fetch_object($rs))
    $myclass->doPermissions();


oid.. geen idee hoe dat in PHP gaat werken... waarschijnlijk niet :)

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 03 november 2002 @ 13:42:
Uittesten heb ik uiteraard al gedaan (moet je dat er tegenwoordig ook al bij zetten?).

LuCarD; Ik heb dat ook al eens gebruikt, maar dan moet ik die permissions method een boolean laten returnen en dat vind ik niet zo'n nette oplossing.
Wat is er mis om een method een boolean te laten returnen? Wat wil je er dan mee doen?
Bosmonster schreef op 03 november 2002 @ 13:56:

PHP:
1
2
while ($myclass = mysql_fetch_object($rs))
    $myclass->doPermissions();


oid.. geen idee hoe dat in PHP gaat werken... waarschijnlijk niet :)
Leuk idee.... maar nee... dat kan helaas nie...

Programmer - an organism that turns coffee into software.


Verwijderd

LuCarD schreef op 03 november 2002 @ 14:06:

Leuk idee.... maar nee... dat kan helaas nie...

Het zou denk ik wel degelijk gaan als je het gereturnde object cast naar een andere object waarin je die methode definieert.
PHP:
1
2
3
4
while ($myclass = (someclass) mysql_fetch_object($rs))
{
    $myclass->doPermissions();
}

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 03 november 2002 @ 14:10:

[...]

Het zou denk ik wel degelijk gaan als je het gereturnde object cast naar een andere object waarin je die methode definieert.
PHP:
1
2
3
4
while ($myclass = (someclass) mysql_fetch_object($rs))
{
    $myclass->doPermissions();
}
Nope...

net ff getest...

PHP:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class test {

    var $a=1;
    
    function blaat() {
        echo $this->a;
        echo $this->b;
    }
}

$b->b=2;
$t=new test;
$t= (test) $b; // <-- PARSE ERROR 
print_r($t);


Geeft een parse error.

Programmer - an organism that turns coffee into software.


  • Bosmonster
  • Registratie: Juni 2001
  • Laatst online: 29-08 19:47

Bosmonster

*zucht*

Als het een beetje complexe constructies worden (met nadruk op 'beetje' :P) kan het altijd ineens niet meer in PHP... :|

Zelfs zoiets simpels als dit werkt niet eens:

mysql_fetch_object($rs)->ID;

En zo kom ik constant brakke dingen tegen :| Kweet dat het op andere manieren dan wel weer kan (met andere functies weer ofzo), maar dit is gewoon een hele normale constructie voor een programmeertaal..

Verwijderd

/sidenote:
mysql_fetch_object($rs)->ID; gaat wel werken in Zend 3.

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Verwijderd schreef op 03 november 2002 @ 19:47:
/sidenote:
mysql_fetch_object($rs)->ID; gaat wel werken in Zend 3.
Zend 3?

Programmer - an organism that turns coffee into software.


Verwijderd

Whoops, Zend 2. Typo :X
Pagina: 1