ugrás a tartalomhoz

Archívum - Jan 2010 - Fórum téma

január 2

Javascript szülő osztály hívásának továbbörökítése

inf · 2010. Jan. 2. (Szo), 04.24
Üdv.

Van egy kis gondom, amire nem találtam semmilyen megoldást.
A lényeg, hogy származtatni szeretnék osztályokat egymásból, és a szülő osztály függvényeit elérni. A gondom az, hogy a szülő osztályból hívott függvényben a this.parent nem a nagyszülőre, hanem a szülőre vonatkozik, és így végtelen ciklusba kerül. Ez persze logikus, viszont kíváncsi vagyok létezik e megoldás ennek kikerülésére.

Itt egy példa:
  1. Object.prototype.extend=function (source)  
  2. {  
  3.     if (source)  
  4.     {  
  5.         for (var property in source)  
  6.         {  
  7.             if  
  8.             (  
  9.                 (property in Object.prototype)  
  10.                 ?  
  11.                     source[property]!==Object.prototype[property]  
  12.                 &&  
  13.                     this[property]===Object.prototype[property]  
  14.                 :  
  15.                     !(property in this)  
  16.             )  
  17.             {  
  18.                 this[property]=source[property];  
  19.             }  
  20.         }  
  21.     }  
  22.     return this;  
  23. };  
  24.   
  25. Object.prototype.implement=function (source)  
  26. {  
  27.     if (source)  
  28.     {  
  29.         for (var property in source)  
  30.         {  
  31.             if  
  32.             (  
  33.                 !(property in Object.prototype)  
  34.             ||  
  35.                 source[property]!==Object.prototype[property]  
  36.             )  
  37.             {  
  38.                 this[property]=source[property];  
  39.             }  
  40.         }  
  41.     }  
  42.     return this;  
  43. };  
  44.       
  45. Class=function (source)  
  46. {  
  47.     return function ()  
  48.     {  
  49.         if (this.initialize instanceof Function)  
  50.         {  
  51.             this.initialize.apply(this,arguments);  
  52.         }  
  53.     }.implement(source);  
  54. };  
  55.   
  56. Function.prototype.extend(  
  57. {  
  58.     extend: function (source)  
  59.     {  
  60.         this.prototype.extend(source.prototype);  
  61.         this.prototype.parent=source.prototype;  
  62.         return this;  
  63.     },  
  64.     implement: function (source)  
  65.     {  
  66.         this.prototype.implement(source);  
  67.         return this;  
  68.     }  
  69. });  
  70.       
  71. var a=new Class(  
  72. {  
  73.     initialize: function ()  
  74.     {  
  75.         this.a=1;  
  76.     }  
  77. });  
  78.   
  79. var b=new Class(  
  80. {  
  81.     initialize: function ()  
  82.     {  
  83.         this.parent.initialize.apply(this,arguments);  
  84.         this.b=1;  
  85.     }  
  86. }).extend(a);  
  87.   
  88. var c=new Class(  
  89. {  
  90.     initialize: function ()  
  91.     {  
  92.         this.parent.initialize.apply(this,arguments);  
  93.         this.c=1;  
  94.     }  
  95. }).extend(b);  
  96.   
  97. var d=new c;  
  98. alert(d.a && d.b && d.c);  
 

január 1

PHP fórum készítése

reagenross · 2010. Jan. 1. (P), 21.22
Sziasztok,

egy egyszerűbb fórumot csinálok php-vel. A mySQL adatbázisban a táblák a topic nevek,
a hozzászólások pedig a táblák mezőiben vannak letárolva. A problémám az, hogy nem tudok ékezetes karaktereket bevinni, valamint a táblák neveimben(azaz a topic nevekben) szóközt alkalmazni.

A hozzászólásokban sikerült ékezetes karaktereket bevinnem, úgy hogy a hozzászólást URL-é kódolom majd amikor a megjelenítésre kerül a sor visszakódolom. Ez azonban nem működik a táblanevek esetében.

A szóközös problémára van egy ötletem: bevitelnél egy speciális karaktersorozattal helyettesíteném a szóközt, majd kiolvasásnál visszaalakítanám szóközzé. De jobban örülnék ha lenne erre valami elegánsabb megoldás.

Összegezve:
-Hogyan tudnék ékezetes karaktereket a táblák neveiben megjeleníteni?
-Hogyan tudnék szóközöket a táblák neveiben megjeleníteni egyszerűen?