Archívum - Már 18, 2005 - Fórum téma
PHP 4 bug (?)
Több napot szenvedtem, mire kiderült, hogy a lenti bug található a PHP-ben. Eddig minden verzióban hibás volt. (Csak 4-eseket próbáltam.)
Ha egy osztály elemváltozója is osztály, és ez utóbbi műveletét használod, akkor referenciaváltozóvá válik ...
Kissé tanácstalan vagyok. Ha valakinek lenne ötlete, hogy hogyan lehet áthidalni, azaz hogyan tudnám a PHP-t megbízhatóan összetett struktúrák elkészítésére használni, azt megköszönném.
Ha valaki azt el tudná mondani, hogy mi lehet a bug oka, az is jól jönne. Ugyanis nem tudom, hol ütheti még fel a fejét ... ? (Vagy én értelmezek félre vagy rontok el valamit?)
De ha bárki, bármi bíztatót tud szólni, már az is elég lenne! Több hónapos fejelsztés eredményeként állt elő egy ennyire összetett kód. ... Most dobjam ki? (Netán javaslat, megbízható objektum orientált plattformra?)
No, azt hiszem ennyi. Ha valaki még előtte áll egy ilyennek, ne ágyazzon egymásba objektumokat.
:-(
■ Ha egy osztály elemváltozója is osztály, és ez utóbbi műveletét használod, akkor referenciaváltozóvá válik ...
Kissé tanácstalan vagyok. Ha valakinek lenne ötlete, hogy hogyan lehet áthidalni, azaz hogyan tudnám a PHP-t megbízhatóan összetett struktúrák elkészítésére használni, azt megköszönném.
Ha valaki azt el tudná mondani, hogy mi lehet a bug oka, az is jól jönne. Ugyanis nem tudom, hol ütheti még fel a fejét ... ? (Vagy én értelmezek félre vagy rontok el valamit?)
De ha bárki, bármi bíztatót tud szólni, már az is elég lenne! Több hónapos fejelsztés eredményeként állt elő egy ennyire összetett kód. ... Most dobjam ki? (Netán javaslat, megbízható objektum orientált plattformra?)
No, azt hiszem ennyi. Ha valaki még előtte áll egy ilyennek, ne ágyazzon egymásba objektumokat.
:-(
<?php // PHP referencia bug.
class Adat {
var $value;
function Adat() {
$this->value='';
}
function muvelet() { // Csak a művelet meghívása a fontos
$this->value=''; // Tetszőlege utasítás lehet, vagy akár semmi
}
}
class Fo {
var $adat; // Adat osztályú értékkel fogjuk feltölteni. Őbelőle lesz majd referencia
function Fo($a) {
$this->adat=$a;
$this->adat->muvelet(); // *** Ez a kritikus lépés. Elhagyva jól működik.
}
}
$adat=new Adat();
$fo=new Fo($adat);
// $fo->adat->muvelet(); // *** Itt is kritikus lenne egy ilyen művelet
$masolat=$fo; // Teljesen függetlennek kellene lennie
$masolat->adat->value='jó';
$fo->adat->value='hibás';
print $masolat->adat->value; // Itt a 'jó' érték helyett a 'hibás' jelenik meg.
?>
class Adat {
var $value;
function Adat() {
$this->value='';
}
function muvelet() { // Csak a művelet meghívása a fontos
$this->value=''; // Tetszőlege utasítás lehet, vagy akár semmi
}
}
class Fo {
var $adat; // Adat osztályú értékkel fogjuk feltölteni. Őbelőle lesz majd referencia
function Fo($a) {
$this->adat=$a;
$this->adat->muvelet(); // *** Ez a kritikus lépés. Elhagyva jól működik.
}
}
$adat=new Adat();
$fo=new Fo($adat);
// $fo->adat->muvelet(); // *** Itt is kritikus lenne egy ilyen művelet
$masolat=$fo; // Teljesen függetlennek kellene lennie
$masolat->adat->value='jó';
$fo->adat->value='hibás';
print $masolat->adat->value; // Itt a 'jó' érték helyett a 'hibás' jelenik meg.
?>
FAR Manager Editor + UTF-8
Lehet, hogy sokan kiröhögnek, hogy mit keres itt a Far Manager, amikor már senki nem használja, hiszen vannak ezerszer jobb szerkesztők... :) Ez igaz, de én leragadtam nála, és nagyon sokszor, főleg kisebb munkáknál sokszor visszanyúlok hozzá az egyszerűsége miatt. A sima beépített editort használom a colorer pluginnel felturbózva, de van egy nagy szívfájdalmam. Képtelen vagyok arra, hogy rendesen lekezelje az utf-8 kódolást.
Kerestem már ezer plugin között, de semmi értelmeset nem találtam... :( Voltak próbálkozások (pl. Unicode Wizard) de ez nem a legkényelmesebb... :( Meg ahogy észleltem az egész Far haldoklik, úgyhogy nem sok reményem van, de azért ha esetleg valaki szereti, vagy szerette ezt a fapados programot és van valami ötlete - azon kívül, hogy keressek egy normális szerkesztőt ;) - azt nagyon megköszönném! :)
■ Kerestem már ezer plugin között, de semmi értelmeset nem találtam... :( Voltak próbálkozások (pl. Unicode Wizard) de ez nem a legkényelmesebb... :( Meg ahogy észleltem az egész Far haldoklik, úgyhogy nem sok reményem van, de azért ha esetleg valaki szereti, vagy szerette ezt a fapados programot és van valami ötlete - azon kívül, hogy keressek egy normális szerkesztőt ;) - azt nagyon megköszönném! :)
UML 2.0 és PHP 5
Sziasztok!
Vizuális UML 2.0 fejlesztő eszközt keresek ami PHP 5 kódot tud generálni. Érdekelnek ezzel kapcsolatos fejlesztői tapasztalatok is.
(Én az EA-t ismerem, csak az fizetős!(Enterprise Architect, Sparx System))
Hali
■ Vizuális UML 2.0 fejlesztő eszközt keresek ami PHP 5 kódot tud generálni. Érdekelnek ezzel kapcsolatos fejlesztői tapasztalatok is.
(Én az EA-t ismerem, csak az fizetős!(Enterprise Architect, Sparx System))
Hali
Adatfeltöltés
Sziasztok!
Egy "kis" problémával küszködök pár napja, s nem igazán akar összejönni. A következőröl van szó.
Van egy PHP-Nuke -os portálom. Szeretnék csinálni egy új modult hozzá. Ez a modul az sql adatbázis egy tábláját használja, innen nyeri az információkat. A lekérdezések működnek is, azzal nincs egyenlőre probléma. Viszont ami a gondot okozza az, hogy php-s űrlap segítségével szeretném az adatokat felvinni az adatbázisba, s ez nem igazán működik. Mindig hibaüzenetet kapok. A kód a következő képpen néz ki:
[colorer=php]<?php
if ( isset( $kat ) && isset( $alkat ) && isset( $ec ) && isset( $meret ) && isset( $hossz ) && isset( $szolam ) && isset( $nev ) )
{
$dbhiba = "";
$vissza = adatbazis_bovit( $kat, $alkat, $ec, $meret, $hossz, $szolam, $nev, $dbhiba );
if ( ! $vissza )
print "Hiba: $dbhiba<BR>";
else
print "Köszönjük!";
}
else {
urlap_keszit();
}
function adatbazis_bovit( $kat, $alkat, $ec, $meret, $hossz, $szolam, $nev, &$dbhiba )
{
$felhasznalo = "user";
$jelszo = "jelszo";
$adatbazis = "dbname";
$kapcsolat = mysql_connect( "localhost", $felhasznalo, $jelszo);
if ( ! $kapcsolat)
{
$dbhiba = "Nem lehet kapcsolódni a kiszolgálóhoz!";
return false;
}
if ( ! mysql_select_db( $adatbazis, $kapcsolat ) )
{
$dbhiba = mysql_error();
return false;
}
$parancs = "INSERT INTO midi_dalok ( kat, alkat, ec, meret, hossz, szolam, nev )
VALUES ( '$kat', '$alkat', '$ec', '$meret', '$hossz', '$szolam', '$nev' )";
if ( ! mysql_query ( $parancs, $kapcsolat ) )
{
$dbhiba = mysql_error();
return false;
}
return true;
}
function urlap_keszit()
{
global $PHP_SELF;
print "Kategória";
print "<select name=\"kat\">\n";
print "\t<option value=\"\"> \n";
print "\t<option value=\"Dalrészletek\"> Dalrészletek\n";
print "\t<option value=\"Komolyzene\"> Komolyzene\n";
print "\t<option value=\"Teljes dalok\"> Teljes dalok\n";
print "</select>\n";
Egy "kis" problémával küszködök pár napja, s nem igazán akar összejönni. A következőröl van szó.
Van egy PHP-Nuke -os portálom. Szeretnék csinálni egy új modult hozzá. Ez a modul az sql adatbázis egy tábláját használja, innen nyeri az információkat. A lekérdezések működnek is, azzal nincs egyenlőre probléma. Viszont ami a gondot okozza az, hogy php-s űrlap segítségével szeretném az adatokat felvinni az adatbázisba, s ez nem igazán működik. Mindig hibaüzenetet kapok. A kód a következő képpen néz ki:
[colorer=php]<?php
if ( isset( $kat ) && isset( $alkat ) && isset( $ec ) && isset( $meret ) && isset( $hossz ) && isset( $szolam ) && isset( $nev ) )
{
$dbhiba = "";
$vissza = adatbazis_bovit( $kat, $alkat, $ec, $meret, $hossz, $szolam, $nev, $dbhiba );
if ( ! $vissza )
print "Hiba: $dbhiba<BR>";
else
print "Köszönjük!";
}
else {
urlap_keszit();
}
function adatbazis_bovit( $kat, $alkat, $ec, $meret, $hossz, $szolam, $nev, &$dbhiba )
{
$felhasznalo = "user";
$jelszo = "jelszo";
$adatbazis = "dbname";
$kapcsolat = mysql_connect( "localhost", $felhasznalo, $jelszo);
if ( ! $kapcsolat)
{
$dbhiba = "Nem lehet kapcsolódni a kiszolgálóhoz!";
return false;
}
if ( ! mysql_select_db( $adatbazis, $kapcsolat ) )
{
$dbhiba = mysql_error();
return false;
}
$parancs = "INSERT INTO midi_dalok ( kat, alkat, ec, meret, hossz, szolam, nev )
VALUES ( '$kat', '$alkat', '$ec', '$meret', '$hossz', '$szolam', '$nev' )";
if ( ! mysql_query ( $parancs, $kapcsolat ) )
{
$dbhiba = mysql_error();
return false;
}
return true;
}
function urlap_keszit()
{
global $PHP_SELF;
print "Kategória";
print "<select name=\"kat\">\n";
print "\t<option value=\"\"> \n";
print "\t<option value=\"Dalrészletek\"> Dalrészletek\n";
print "\t<option value=\"Komolyzene\"> Komolyzene\n";
print "\t<option value=\"Teljes dalok\"> Teljes dalok\n";
print "</select>\n";
Ű és ő Flash-be PHP-n keresztül MySQL-ből
MÁr teljesen tele van a tudatom, hogy a flash - php - mysql combo közti adatküldés során mindig kibabrálnak velem ezek a karakterek....
adatbázisban jól jelennek meg
ha kiiratom php-ben ott is meg van az ékezet...
ha php-ből küddök statikusan ékezeteket, azok is helyesen megjelennek....
én már nemtmo hányismeretlenes ez az egyenlet és hogy hova tűnnek a hiányzó adatok....
esetleg egy jó tipp????
■ adatbázisban jól jelennek meg
ha kiiratom php-ben ott is meg van az ékezet...
ha php-ből küddök statikusan ékezeteket, azok is helyesen megjelennek....
én már nemtmo hányismeretlenes ez az egyenlet és hogy hova tűnnek a hiányzó adatok....
esetleg egy jó tipp????
IE7 és a többiek jövője
Jön az új IE, a 7. Ok.
Nagytapasztalatú FireFox (és Opera) hívő kollegáktól azt kérdezem, h. egy alap FireFox install miben nyújt többet jelenlegi IE6Sp1-nél felhasználói felületen?
Nem a teljes felhasználói élményre vagyok kiváncsi (szabványtámogatás meg ilyenek), hanem olyan új finomságokra (menüpontok/funkciók/gombok/stb.), amik egy alap intallációban is elérhető és nagy valószínűséggel a felhasználó is észre fogja venni létezését?
Azon filózgatok, h. ha az IE7-ben tényleg lesznek kézzel fogható változások a felületen és a kínált funkciókban, akkor mi történhet majd a többiekkel? Milyen újdonságokkal készülnek a többi böngészőben a gyártók? Vannak másnak is üres percei ilyeneken gondolkozni?
ui.: Opera-t csak a számkivetettség mellőzése miatt vettem ebbe bele.
■ Nagytapasztalatú FireFox (és Opera) hívő kollegáktól azt kérdezem, h. egy alap FireFox install miben nyújt többet jelenlegi IE6Sp1-nél felhasználói felületen?
Nem a teljes felhasználói élményre vagyok kiváncsi (szabványtámogatás meg ilyenek), hanem olyan új finomságokra (menüpontok/funkciók/gombok/stb.), amik egy alap intallációban is elérhető és nagy valószínűséggel a felhasználó is észre fogja venni létezését?
Azon filózgatok, h. ha az IE7-ben tényleg lesznek kézzel fogható változások a felületen és a kínált funkciókban, akkor mi történhet majd a többiekkel? Milyen újdonságokkal készülnek a többi böngészőben a gyártók? Vannak másnak is üres percei ilyeneken gondolkozni?
ui.: Opera-t csak a számkivetettség mellőzése miatt vettem ebbe bele.