Peachpit Press has published online an article I wrote titled “The Five Biggest JavaScript Misconceptions“. This is one of three articles I wrote in support of my “[intlink id=”3016″ type=”page”]Modern JavaScript: Develop and Design[/intlink]” book. In the article, as the title states, I discuss what I believe are the five biggest JavaScript misconceptions, and by “biggest”, I mean both “popular” and “egregious”. It’s a quick read, so check it out. Thanks!
If you haven’t yet seen it, Steven O’Brien wrote an in-depth series of articles on the Yii framework’s component architecture, posted at phpmaster. In the series, O’Brien looks at the CComponent base class in detail. Every class in Yii is an extension of CComponent, so understanding what it brings to the table can be quite useful to the Yii developer. Part 1 looks at the classes key properties and methods. Part 2 discusses events. And part 3 explains the behaviors. If you’re using Yii, it’s worth reading these to better understand what’s going on at the fundamental level.
In this edition…
- On the Web => Follow Me on Twitter!
- On the Web => Facebook and MySQL
- On the Web => 99Designs Contest for My Logo and Business Card
- On the Blog => Autographed Copies of “Modern JavaScript: Develop and Design” Now Available
- On the Blog => Using PayPal’s WebSite Payments Pro with “Effortless E-Commerce with PHP and MySQL”
- Q&A => Does It Make Sense To Use a Code Generator?
- Larry Ullman’s Book News => “Modern JavaScript: Develop and Design” and “PHP 5 Advanced: Visual QuickPro Guide” (3rd Edition)
Some time ago I stumbled upon the WWW SQL Designer, an online database modeling tool, created by Ondrej Zara. It’s built in JavaScript, and runs in the browser, although PHP is required for some functionality. You can download the code from its Google Code home page so that you can run it in from your own computer, but to see a demo of it in action (a completely usable demo), head to http://ondras.zarovi.cz/sql/demo/.
There’s not much in the way of documentation, but the tool is pretty straightforward, and there’s a YouTube video, if you want. To start, just create a new table, giving it a name. The tool will automatically create the autoincremented primary key for each new table. Then you can add other columns and indexes (aka keys). Add more tables as needed, and you can easily indicate the relationships between tables by marking foreign keys. Once you’re done with the design, you can export the SQL. The tool supports many different databases, including MySQL, SQLite, Oracle, and PostgreSQL. The outputted SQL is also nicely broken down, separating, for example, the foreign key statements and table properties (e.g., the character set, collation, and storage engine) into standalone ALTER queries, allowing you to use whatever commands you need when you actually go to create the database in your database application. The generated SQL even provides demo INSERT statements for the tables. Alternatively, you can save the design as XML, allowing you to reload that design in the application for further editing at another time.
I’m always on the lookout for a good database design tool, so was pleased to find this one. It’s particularly useful when I’m not on my primary computer, such as when I’m at a client’s office, and need to whip up some SQL on the fly. Check it out for yourself and see what you think. The price—free—is right!
In Part 3 of my “[intlink id=”1578″ type=”page”]Effortless E-Commerce with PHP and MySQL[/intlink]” book, I use Authorize.net to process payments for a site that sells physical goods. Authorize.net accepts credit cards and can be directly integrated into your site, so that the customer never leaves (unlike, for example, PayPal’s Website Payments Standard, used in Part 2 of the book, which goes through PayPal’s site). The code in the book was written in a very modular style, with the intent that you can use the components you need, and swap others in and out. A reader specifically wanted to know how you would use PayPal’s Website Payments Pro instead of Authorize.net, and that’s what I’ll explain here. Continue Reading…