منتدى استراحات زايد

منتدى استراحات زايد (http://vb.ma7room.com/index.php)
-   منتدى أخبار المواقع والمنتديات العربية والأجنبية (http://vb.ma7room.com/forumdisplay.php?f=183)
-   -   2.0 Core classes - Database and Error (http://vb.ma7room.com/showthread.php?t=159855)

محروم.كوم 06-18-2009 06:31 PM

2.0 Core classes - Database and Error
 
Hey,

I am going to talk a little about the approach I am taking with phpWebSite 2.0. I started 1.x about four years ago. I had an idea of what I wanted but it was kinda new territory. As such, many of the beginning modules and core classes reflect my coding ability at the time. Time has passed I find myself looking back at the early core modules and classes and scratching my head. Why did I do this that way? Is it the best way?

So since we are popping a new number, I am taking the opportunity to go through every class and module and see if there is a better way.

I started with setup first. The current setup is the same hack I put together to get 1.0 to install for testing. I never really improved upon it. So the setup process will get a huge upgrade.

As I was going through Setup, I noticed there were far too many hacks to get phpWebSite to install. This shouldn't be the case. While trying to clean up the setup process, I decided the Core classes were themselves kludgy. So I have put Setup to the side and started going through these classes instead.

Currently, I am working through the Database class along with Init. The biggest change with Database is updating the PEAR dependency. Database in 1.x uses the PEAR DB class. They stopped supporting this a few years ago. It is stable, it just isn't getting any developer love. Instead, PEAR is updating MDB2. This database class is a lot like MDB2 but with more features and better ease-of-use. Some of these features will expand the capabilities of PHPWS_DB.

Real quick, here are some features that we may see in 2.0:
1) No more install.sql files. Instead, database independent structure descriptions that should easily import into any database os.
2) Simplified access to the MDB2 connection. This will let you call MDB2 methods directly.
3) Methods allowing row selections on demand
4) Better database compatibility outside of just MySQL and Postgresql.

Hopefully, the database class will be cleaner and have more options. There shouldn't be much of any compatibility loss.

While working, I am also experimenting with error detection and reporting. First, I am adding exceptions for fatal flaws. Second, I added support for FireBug logging. It is terrific. Instead of using test() you use fb_test(). Click on your little FireBug icon and you get a report of the problem. I figure you will be able to toggle this on and off for your site. If you are having site problems, you can debug on production if you have to because nothing is outputted to the screen.

I will try and post more information as I go.

Best regards,
Matt


الساعة الآن 06:58 PM

Powered by vBulletin® Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.5.2 TranZ By Almuhajir


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227