<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Kommentare zu: Eure Meinung: Sichtbarkeit von Variablen</title>
	<atom:link href="http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/</link>
	<description>Ein PHP Blog mit aktuellen PHP Informationen und Tricks für Entwickler.</description>
	<pubDate>Fri, 10 Sep 2010 18:51:32 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
		<item>
		<title>Von: timi</title>
		<link>http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-349</link>
		<dc:creator>timi</dc:creator>
		<pubDate>Sun, 21 Oct 2007 20:22:34 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-349</guid>
		<description>Aleks hat Recht. Wie w&#228;rs, wenn Du Dir die DB Klasse per Singleton holst, wenn Du sie ben&#246;tigst, dann muss sie nicht als Klassenmember eingebettet sein?</description>
		<content:encoded><![CDATA[<p>Aleks hat Recht. Wie w&#228;rs, wenn Du Dir die DB Klasse per Singleton holst, wenn Du sie ben&#246;tigst, dann muss sie nicht als Klassenmember eingebettet sein?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: Frank</title>
		<link>http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-341</link>
		<dc:creator>Frank</dc:creator>
		<pubDate>Sun, 21 Oct 2007 17:39:57 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-341</guid>
		<description>Hiho,
ich bin frpoh, dass PHP endlich deutlich mehr in die Richtung geht, die JAVA schon vor Jahren eingeschlagen hat. Das Verhalten ist imho absolut korrekt.

Siehe dazu auch die Doku unter:
http://de.php.net/manual/de/language.oop5.visibility.php

Gru&#223;
_Frank</description>
		<content:encoded><![CDATA[<p>Hiho,<br />
ich bin frpoh, dass PHP endlich deutlich mehr in die Richtung geht, die JAVA schon vor Jahren eingeschlagen hat. Das Verhalten ist imho absolut korrekt.</p>
<p>Siehe dazu auch die Doku unter:<br />
<a href="http://de.php.net/manual/de/language.oop5.visibility.php" rel="nofollow"></a><a href='http://de.php.net/manual/de/language.oop5.visibility.php'>http://de.php.net/manual/de/language.oop5.visibility.php</a></p>
<p>Gru&#223;<br />
_Frank</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: phil</title>
		<link>http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-339</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Sun, 21 Oct 2007 09:52:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-339</guid>
		<description>Also, es hat nicht JEDES Objekt eine Referenz auf die DB, aber ich habe ein Konfigurationsobjekt, das ich bei Bedarf in dem entsprechenden Objekt registrieren kann, damit es eben DB anfragen etc. ausf&#252;hren kann. Wenn ich so ein Objekt dann in der Session &#252;bertragen will, dann soll dieses Konf-Objekt eben nicht mit in die Session, weil die DB Connection eben auf jeden Fall wieder erneuert werden muss. Also wird automatisch diese Sleep Funktion gecallt. Daf&#252;r ist die in PHP eingef&#252;hrt worden.

Und ich denke nicht, dass es besonders performant ist, wenn ich nach jedem Pageload, in dem ein oder viele Datenobjekte geladen wurden diese per Reflection Reverse Engineere...</description>
		<content:encoded><![CDATA[<p>Also, es hat nicht JEDES Objekt eine Referenz auf die DB, aber ich habe ein Konfigurationsobjekt, das ich bei Bedarf in dem entsprechenden Objekt registrieren kann, damit es eben DB anfragen etc. ausf&#252;hren kann. Wenn ich so ein Objekt dann in der Session &#252;bertragen will, dann soll dieses Konf-Objekt eben nicht mit in die Session, weil die DB Connection eben auf jeden Fall wieder erneuert werden muss. Also wird automatisch diese Sleep Funktion gecallt. Daf&#252;r ist die in PHP eingef&#252;hrt worden.</p>
<p>Und ich denke nicht, dass es besonders performant ist, wenn ich nach jedem Pageload, in dem ein oder viele Datenobjekte geladen wurden diese per Reflection Reverse Engineere&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: aleks</title>
		<link>http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-338</link>
		<dc:creator>aleks</dc:creator>
		<pubDate>Sun, 21 Oct 2007 09:40:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-338</guid>
		<description>wenn es unbedingt sein muss - mit der reflection api sollte das doch gehen:

http://php.net/manual/en/language.oop5.reflection.php

aber warum soll es &#252;berhaupt in *jedem* objekt eine referenz auf ein objekt mit konfigurationsdaten wie der datenbankverbindung geben? (und warum dann pl&#246;tzlich nicht mehr?)</description>
		<content:encoded><![CDATA[<p>wenn es unbedingt sein muss - mit der reflection api sollte das doch gehen:</p>
<p><a href="http://php.net/manual/en/language.oop5.reflection.php" rel="nofollow"></a><a href='http://php.net/manual/en/language.oop5.reflection.php'>http://php.net/manual/en/language.oop5.reflection.php</a></p>
<p>aber warum soll es &#252;berhaupt in *jedem* objekt eine referenz auf ein objekt mit konfigurationsdaten wie der datenbankverbindung geben? (und warum dann pl&#246;tzlich nicht mehr?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: phil</title>
		<link>http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-337</link>
		<dc:creator>phil</dc:creator>
		<pubDate>Sun, 21 Oct 2007 09:28:00 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-337</guid>
		<description>Ich denke mal, dass es wesentlich mehr Aufwand ist diese __sleep Funktion in jedem Member Objekt zu haben?! Du kennst ja so ein bisschen meine Programmierstil...

Hab jedenfalls erstmal die Variablen auf protected ge&#228;ndert. Jetzt l&#228;uft der Laden erstmal wieder, bis ich einen neuen Weg &#252;berlege, die gesetzten Variablen meines Objektes auszulesen :)</description>
		<content:encoded><![CDATA[<p>Ich denke mal, dass es wesentlich mehr Aufwand ist diese __sleep Funktion in jedem Member Objekt zu haben?! Du kennst ja so ein bisschen meine Programmierstil&#8230;</p>
<p>Hab jedenfalls erstmal die Variablen auf protected ge&#228;ndert. Jetzt l&#228;uft der Laden erstmal wieder, bis ich einen neuen Weg &#252;berlege, die gesetzten Variablen meines Objektes auszulesen :)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Von: timi</title>
		<link>http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-336</link>
		<dc:creator>timi</dc:creator>
		<pubDate>Sun, 21 Oct 2007 09:09:22 +0000</pubDate>
		<guid isPermaLink="false">http://www.phpblogger.net/2007/10/21/eure-meinung-sichtbarkeit-von-variablen/#comment-336</guid>
		<description>Hi Phil,

sch&#246;n das Du wieder an Board bist... Also ich sehe die Sache folgenderma&#223;en:

1. get_object_vars ist eine globale Funktion und keine Memberfunktion von this. Dementsprechend ist es richtig, dass

2. nur externen Zugriff auf public oder protected Variablen hat, die von Nicht-Memberfunktionen zug&#228;nglich sind (denn private deklarierte Variablen sind Klasseninternen Memberfunktionen vorbehalten), deshalb ist es

3. kein Bug, sondern ein Feature... ;) und somit

4. ist die Fehlermeldung bei PHP hinf&#228;llig *zwinker*

Eine L&#246;sung ist es aber keinesfalls, alles auf protected umzustellen - das ist ja auch nicht im Sinne des Erfinders.

Da __sleep bewusst eine Memberfunktion Deiner zu serialisierenden Objekte ist, k&#246;nntest Du f&#252;r jedes zu serialisierende Objekt explizit die __sleep Funktion implementieren. Das w&#228;re vom Programmierhandwerk her gesehen das Beste.

Vielleicht hat ja jemand ne Idee, wie man es automatisieren k&#246;nnte, weil es ne Menge Aufwand bedeutet, Deine Klassen umzustellen...</description>
		<content:encoded><![CDATA[<p>Hi Phil,</p>
<p>sch&#246;n das Du wieder an Board bist&#8230; Also ich sehe die Sache folgenderma&#223;en:</p>
<p>1. get_object_vars ist eine globale Funktion und keine Memberfunktion von this. Dementsprechend ist es richtig, dass</p>
<p>2. nur externen Zugriff auf public oder protected Variablen hat, die von Nicht-Memberfunktionen zug&#228;nglich sind (denn private deklarierte Variablen sind Klasseninternen Memberfunktionen vorbehalten), deshalb ist es</p>
<p>3. kein Bug, sondern ein Feature&#8230; ;) und somit</p>
<p>4. ist die Fehlermeldung bei PHP hinf&#228;llig *zwinker*</p>
<p>Eine L&#246;sung ist es aber keinesfalls, alles auf protected umzustellen - das ist ja auch nicht im Sinne des Erfinders.</p>
<p>Da __sleep bewusst eine Memberfunktion Deiner zu serialisierenden Objekte ist, k&#246;nntest Du f&#252;r jedes zu serialisierende Objekt explizit die __sleep Funktion implementieren. Das w&#228;re vom Programmierhandwerk her gesehen das Beste.</p>
<p>Vielleicht hat ja jemand ne Idee, wie man es automatisieren k&#246;nnte, weil es ne Menge Aufwand bedeutet, Deine Klassen umzustellen&#8230;</p>
]]></content:encoded>
	</item>
</channel>
</rss>
