The short ternary operator, ?: provides a way to do this much more conveniently: $_GET['mykey'] ?: "". However, this is not good practise, as if the value does not exist it will raise an E_NOTICE.
1More
New RSForm! Pro revision - Revision 22 is available for download! - 0 views
1More
JungleJar | Featured Web Application: PHPanywhere.net - 0 views
www.junglejar.com/...php-web-application
PHP web development php development web applications web tools
shared by Jungle Jar on 09 May 09
- Cached
-
This is an extremely cool and useful web application, and if it hasn't been thought of before, I'm absolutely shocked, because it makes so much sense. Essentially, PHPanywhere is a web based free Integrated Development Environment or IDE for the PHP language. In other words it is a web based application that provides PHP developers a PHP code editor that mocks a desktop application, and it does so very well.
1More
Does "Safe Mode" of PHP really give any benefit? - 0 views
7More
PHP: rfc:isset_ternary - 0 views
-
The coalesce, or ??, operator is added, which returns the result of its first operand if it exists and is not NULL, or else its second operand.
- ...3 more annotations...
1More
30+ Firefox Add-ons for Web Developers & Designers - 0 views
mashable.com/...s-for-web-developers-designers
design developer development extensions firefox mozilla programming web webdesign
shared by Raúl - [^BgTA^] on 28 Aug 07
- Cached
alfred westerveld liked it
-
Las 30 mejores extensiones para Firefox:
Aardvark - A cool extension for web developers and designers, allows them to view CSS attributes, id, class by highlighting page element individually. chromEdit - Alter the appearance of any page by editing CSS and Javascript files with this extension. CSSMate - Firefox extension to edit CSS files.
CSS validator - Check the validity of your webpage using this CSS validator extension. CSSViewer - See the CSS properties of page elements with this extension.
EditCSS - Play around with loaded CSS, Web Developer extension also provides this functionality.
IE Tab - Designers and developers can view their CSS projects on Internet Explorer using this extension.
Style Sheet Chooser II - Users can pick and choose alternate style sheets for a website. FireBug - A console for debugging JavaScript, HTML, and Ajax code snippets. HTML Validator - Cool extension to validate web pages with HTML standards of W3C. JavaScript Debugger - JavaScript debugging extension enables a strong debugging environment.
11More
PHP Worst Practices at blog.phpdeveloper.org - 0 views
-
Sure, you could cobble together your own library to add that feature and yes, it might integrate excellently with your code, but what does that gain you? One of the points of Open Source development is to share your knowledge with the rest of the community.
- ...8 more annotations...
-
This would be the combined voices of everyone in your past that tried to teach you the mantra: “Plan First, Code Later”.
-
If you’re writing your code without any sort of documentation, you’re dooming you and possibly future maintainers of the code into many a pointless search to try to figure out why method a() returns two completely different value types depending on which parameters it’s given.
-
Just like ‘anti patterns’, who are an important read as well, ‘worst practices’ help developers avoid mistakes.
9More
Learning JavaScript from PHP - a Comparison | Lullabot - 0 views
-
In PHP, all variables are local in scope unless declared as global. JavaScript is opposite, and all variables are global unless declared with the var keyword.
-
JavaScript is a bit mixed concerning undeclared variables, if you attempt to modify or compare with an undeclared variable, the script will break entirely, but you can check the variable status using typeof() or in conditional statements containing only that variable.
- ...6 more annotations...
-
JavaScript only recognizes the keyword true in all lowercase. PHP accepts both uppercase and lowercase
-
PHP is not case-sensitive in function or class declarations, but JavaScript is case sensitive for these also.
-
JSON strings having become very popular as a faster alternative to XML, and can be read and created with the PHP functions json_encode() and json_decode().
-
Let's take one more look at defining an object in JavaScript and see how it can be used to compensate for the lack of associative arrays in JavaScript.
-
// Note that variables should always be// prefixed with "var" to define a local scope.for (var n = 0; n < 10; n++) { alert(n);}
5More
Rasmus Lerdorf: PHP Frameworks? Think Again. - 0 views
-
heavy Twitter mashup that he created. This does a lot of database calls and a lot of behind the scenes work. By hand-tuning it he was able to get on the order of 280 req/sec.
- ...2 more annotations...
-
So, are there any frameworks that don’t suck? Rasmus did mention that he liked CodeIgniter because it is faster, lighter and the least like a framework.
-
It all starts with “I don’t need a framework.” 2. Then you create 7 classes. 3. Now you have a small library of classes. 4. Then you create an application that uses your library. 5. It works and it’s fast, hurray! 6. Then someone asks you to extend the functionality of your application. 7. And they keep asking for more, and more, and more and more… 8. Now you have 43 classes. 9. You’ve learn so much in the last 2 years. Design patterns, security, performance, testing… 10. What once was a small library is now a big, ugly, un-tested, un-documented, scary framework. 11. Then you change jobs. 12. And you create another 7 classes… This has been happening for the last 30 years.
41More
ongoing · Test-Driven Heresy - 0 views
-
the deep-TDD rules: ¶ Never write code until you have a failing test. Never write any more code than is necessary to un-fail the test.
-
we do way more maintenance than initial development. And in my experience, the first-cut release of any nontrivial software is pretty well crap.
- ...38 more annotations...
-
But to do that well, you absolutely must have enough test coverage that you just aren’t afraid to rip your code’s guts out
-
I always end up sketching in a few classes and then tearing them up and re-sketching, and after a few iterations I’m starting to have a feeling for X and Y.
-
once you’re into maintenance mode, there are really no excuses. Because you really know what all your X’s and Y’s are
-
Writing the tests points out all the mistakes you might make in signatures, prerequisites, etc. If the tests are too hard to make then you know that your API will be too hard to use, you're doing it completely wrong, and may as well pause for a rethink.
-
While the approach you advocate makes sense, it does require professionalism, not just from the developer but from management too.
-
the person left to maintain the code isn't the person who wrote it, leaving the maintainer with an unholy mess to untangle. Getting unit tests into such code is a monumental task.
-
he failure to address how unit tests can be introduced to an existing non unit-test codebase. (i.e. go from non-TDD to TDD)
-
I feel the TDD community only wants to focus on greenfield projects and has ignored maintenance/legacy issues. Which is strange when as you say code spends most of it's time in maintenance
-
The thing is that as long as the project is small you really don't see the benefits of TDD. I've done a couple of small projects and never had to go back to them ever again
-
You are writing the client code (in the form of a test) so you are thinking how the worker code will be used. What is its public interface and what do you want it to do when it's called
-
From: Tathagata Chakraborty (Jun 24 2009, at 07:31)TDD is useful in another situation - in a commercial setting and when detailed specification documents have already been created by say a technical expert/architect. In this case you don't have to do a lot of designing while coding, so you can start off with the test cases.
-
writing the tests *first* is that it helps keep your code focused on exactly what it's meant to do, and no more
-
When work on production code begins, most of the code should fall into the categories of things that are not to be tested.
-
One approach to the unknown X and Y problem that I've been using recently has been to pretend that class X has been written already, and then write code that uses this pretend X object/API. I usually write this directly in the file that will become my unit test. Since X doesn't exist, I'm allowed to call whatever methods I want and pretend it all works. Once I'm satisfied with how it all looks, I cut and paste everything into a bunch of failing tests.
-
that goes a long way towards taking software development from a form of artisanal craftsmanship to a real engineering profession.
-
It always seem to me to be a codified form of reverse engineering, or at least a way to force the programmers into looking at their code from two separate angles at the same time.
-
I do realize that this type of exercise might help younger coders in getting better structure, they do often rush in too quickly and focus more on the instructions than the abstractions.
-
He said he didn't write tests in cases where it would have taken him several hours to get a working test for a small piece of code.
-
In some applications, objects are self-contained, activities are sequential, and algorithms are tricky
-
I've seen cases where people have wrecked the architecture of systems in the name of making them testable... But have never written the tests.
-
Yes, it's possible to make peace with testability, and in the best situation, testability can improve the architecture of a program, but it can also lead people away from highly reliable and maintainable KISS approaches.
-
Like any infrastructure, it is always beneficial to provide unit testing. The most benefit is derived from installing it as early on in the project as possible.
-
The value of an untested feature, to a client, is ... zero. So, it doesn't matter how many of these you have rattled off in the past week, your net throughput is effectively... zero."
-
You can see in this thread the word "professionalism" (substitute "morality" with little gain/loss of substance) and even "sin" (used in jest, but not really!)
-
if I delay writing unit tests until after all the units are working together then because the system "already works" my subconscious enthusiasm for writing unit tests falls markedly, and so their quality and coverage fall
-
Experience teaches that if I generate that output by hand (1) it takes *much* longer (2) I almost always get it wrong. So I often write the code, get its output, carefully check it (really...) and then use it as the correct result.
-
My main objections to TDD are: 1) it promotes micro-design over macro-design and 2) it's hard to apply in practice (i.e. for any code that is not a bowling card calculator or a stack).
1More