Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Pierwsze kroki w OOP, Z C# do PHP.
Grzesiek23
post
Post #1





Grupa: Zarejestrowani
Postów: 47
Pomógł: 0
Dołączył: 25.12.2009

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


Witam!

Postanowiłem przepisać jeden projekt napisany w C# do PHP.

Mam taką oto klasę:

  1. public partial class UserPageBase
  2. {
  3. /// <summary>
  4. /// The _init user page.
  5. /// </summary>
  6. private bool _initUserPage = false;
  7.  
  8. /// <summary>
  9. /// The _page.
  10. /// </summary>
  11. private DataRow _page = null;
  12.  
  13. /// <summary>
  14. /// The _user flags.
  15. /// </summary>
  16. private UserFlags _userFlags = null;
  17.  
  18. /// <summary>
  19. /// Gets or sets Page.
  20. /// </summary>
  21. public virtual DataRow Page
  22. {
  23. get
  24. {
  25. if (!this._initUserPage)
  26. {
  27. InitUserAndPage();
  28. }
  29.  
  30. return this._page;
  31. }
  32.  
  33. set
  34. {
  35. this._page = value;
  36. this._initUserPage = value != null;
  37.  
  38. // get user flags
  39. if (this._page != null)
  40. {
  41. this._userFlags = new UserFlags(this._page["UserFlags"]);
  42. }
  43. else
  44. {
  45. this._userFlags = null;
  46. }
  47. }
  48. }
  49.  
  50. /// <summary>
  51. /// Helper function to see if the Page variable is populated
  52. /// </summary>
  53. /// <returns>
  54. /// The page is null.
  55. /// </returns>
  56. public bool PageIsNull()
  57. {
  58. return Page == null;
  59. }
  60.  
  61. /// <summary>
  62. /// Helper function used for redundant "access" fields internally
  63. /// </summary>
  64. /// <param name="field">
  65. /// </param>
  66. /// <returns>
  67. /// The access not null.
  68. /// </returns>
  69. private bool AccessNotNull(string field)
  70. {
  71. if (Page[field] == DBNull.Value)
  72. {
  73. return false;
  74. }
  75.  
  76. return Convert.ToInt32(Page[field]) > 0;
  77. }
  78.  
  79. /// <summary>
  80. /// Internal helper function used for redundant page variable access (bool)
  81. /// </summary>
  82. /// <param name="field">
  83. /// </param>
  84. /// <returns>
  85. /// The page value as bool.
  86. /// </returns>
  87. private bool PageValueAsBool(string field)
  88. {
  89. if (Page != null && Page[field] != DBNull.Value)
  90. {
  91. return Convert.ToInt32(Page[field]) != 0;
  92. }
  93.  
  94. return false;
  95. }
  96.  
  97. /// <summary>
  98. /// Internal helper function used for redundant page variable access (int)
  99. /// </summary>
  100. /// <param name="field">
  101. /// </param>
  102. /// <returns>
  103. /// The page value as int.
  104. /// </returns>
  105. private int PageValueAsInt(string field)
  106. {
  107. if (Page != null && Page[field] != DBNull.Value)
  108. {
  109. return Convert.ToInt32(Page[field]);
  110. }
  111.  
  112. return 0;
  113. }
  114.  
  115. /// <summary>
  116. /// Internal helper function used for redundant page variable access (string)
  117. /// </summary>
  118. /// <param name="field">
  119. /// </param>
  120. /// <returns>
  121. /// The page value as string.
  122. /// </returns>
  123. private string PageValueAsString(string field)
  124. {
  125. if (Page != null && Page[field] != DBNull.Value)
  126. {
  127. return Page[field].ToString();
  128. }
  129.  
  130. return string.Empty;
  131. }
  132.  
  133. }
  134.  


DataRow to wiersz tablicy.

Trochę czytałem (uczę się dopiero OOP). Wyczytałem, iż standardowe metody __get i __set działają trochę inaczej niż w przypadku C#.

W sumie to z grubsza chodzi mi o przykładowy kod, który byłby analogiczny do tego w C# powyżej (w php oczywiście).

Nie mam pomysłu jak zaimplementować ten wiersz tablicy.

Dziękuję.

Ten post edytował Grzesiek23 12.03.2011, 17:26:04
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: 24.12.2025 - 16:16