Domain: php.net
Stories and comments across the archive that link to php.net.
Comments · 1,658
-
Re:he's being quite modest about it
A very well-thought out response, so I'll respond point-for-point.
You make a critical mistake when you say that relying on ANY software is stupid - that means you can't use computers for anything critical. Clearly, many businesses use computers for their critical path. This is pretty much unavoidable - computers help us do stupid things faster and when it comes to personnel, time is money.
I agree with that 100%. I don't agree that relying on any software is stupid because it may stop being supported, but that is the logical extention to GP's argument. I'm not advocating the use of closed-source software, I'm just taking the pragmatic approach. This argument for OSS is popular, but largely unfounded.
Anyway, your argument seems to basically boil down to the fact that being able to sell software with an artificially increased value is good for programmers.
No, the core of my argument is that there is just as much danger of 'critical' software being abandoned/EoLed/etc... in the OSS world as there is in the closed source world.
This is true, but it's bad for users, and there is no reason we should guarantee that programmers should be able to reap rewards out of proportion to the amount of work they've put in. There's no reason they shouldn't be able to, if they are clever enough, but I can think of no reason that we should, as a species, assist them in doing so.
I'd prefer to find a solution that is good for both users AND programmers. I am not convinced that the GNU approach will even give programmers rewards in proportion to the work they've done.
With Free software, if the project is active, a bug will usually be fixed by a maintainer.
Usually, but not always. This one led me to scrapping a PHP project and rewriting in mod_perl instead, and it appears to have not been touched since August '04.
If it is not, you have a couple of options. You can move to another package - because the software is Open, you have access to your data.
You might have to pay someone to figure out how to extract it, but you have all the source and they can do that much more rapidly than if you are depending on a proprietary solution.
You can also pay someone to fix the problem - again, this is flatly impossible with commercial software.
Fixing it may be, but as projects like Samba, OO, etc. have shown us, accessing the data is far from impossible. Also, even if you can get your data out of it (which, I agree, is a good thing), in a corporate environment, you STILL have to deal with retraining issues when moving to the new packages. As you said in your first paragraph, time is money.
In short, when commercial software dies, you are simply up the proverbial dirty creek without the equally proverbial paddle. When OSS dies, you at least have recourse for fixes, extracting your information, what have you.
See above.
Eventually, I expect there to be two types of software: Closed software, which is horrendously expensive, and which fixes problems so incredibly tedious that no one would ever want to write an open source replacement; and Open software, whose programmers are paid for directed development and support (though I expect that the support would be handled by dedicated, second-string types, not the lead developers.) Most everything you use will be Free and free, while only the most obscure of niche software will be closed source. Even most of that will end up Open Source, as they are forced by Open competitors to open their product, in order to compete.
I don't see that happening until there's some sort of funding from somewhere that ensures that the OSS software is written to meet USERS needs rather than scratching the programmers' itches on his offtime. A good example of this is MusE which apparently requires one to be an audio engineer to even get it runn -
Excuses excuses.[Yes, I know this is offtopic. I'm posting without the bonus, however, I do half-expect to get modded through the basement for it. Please be gentle.]
"I'm a great fan of Open Source software (I just wish my programming skills allowed me to give something back)"
"I don't have good programming skills" is a pathetic excuse, when it comes to Open Source. There are tons of ways to give back, without having high-end C/C++/Java/whatever skills.
Two ways that come to mind, immediately, are:
- Help with a project's documentation. Many OSS projects have mediocre documentation. It doesn't take a lot of skill to fix typos, expand sections and write up HOWTOs on things you've done. Perhaps you even know a language other than English, and can help with translation? The same concept applies to projects' User Interfaces, if you're artistically inclined.
- Help newbies. Many projects have general-inquiry mailing lists that are flooded with simple-to-answer questions. You've probably already overcome some of the hassles of installing the software that you use on a given configuration. Share your knowledge.
Other areas in which you can help are: sysadmin, mailing list moderation, meta-projects, hosting... etc.
If you already do [some of] these things, then kudos to you--you DO give back.
(as you might've guessed from the links, I'm involved with PHP's documentation, but I don't write much C. Though I don't frequent php.general, I do give back in a number of ways..)
S -
Excuses excuses.[Yes, I know this is offtopic. I'm posting without the bonus, however, I do half-expect to get modded through the basement for it. Please be gentle.]
"I'm a great fan of Open Source software (I just wish my programming skills allowed me to give something back)"
"I don't have good programming skills" is a pathetic excuse, when it comes to Open Source. There are tons of ways to give back, without having high-end C/C++/Java/whatever skills.
Two ways that come to mind, immediately, are:
- Help with a project's documentation. Many OSS projects have mediocre documentation. It doesn't take a lot of skill to fix typos, expand sections and write up HOWTOs on things you've done. Perhaps you even know a language other than English, and can help with translation? The same concept applies to projects' User Interfaces, if you're artistically inclined.
- Help newbies. Many projects have general-inquiry mailing lists that are flooded with simple-to-answer questions. You've probably already overcome some of the hassles of installing the software that you use on a given configuration. Share your knowledge.
Other areas in which you can help are: sysadmin, mailing list moderation, meta-projects, hosting... etc.
If you already do [some of] these things, then kudos to you--you DO give back.
(as you might've guessed from the links, I'm involved with PHP's documentation, but I don't write much C. Though I don't frequent php.general, I do give back in a number of ways..)
S -
Re:Goolge Watermarks
Why in the hell do they have to do this? If you look closely, there are "2005 Google" watermarks everywhere.
They must have been to one of Rasmus Ledorf's PHP workshops and seem the libGD demo!
Xix. -
hehehe, nice one
PHP was born in 1995, mods.
+1 Informative indeed. -
Re:knowledge source
Geez, maybe you should pay attention to what you are answering. As I said already, most people do not care about development of software and totally don't care about software development tools.
Those who do, can quite easily work under MS Windows by using Free Software tools. GCC - go down the list and you will see that you can get yourself a build that works on MS Windows.
Here is a PHP installer for Windows.
Here is a JDK installation for windows from Sun.
Here is a bunch of Free apps that will run under Java on any platform Apache
Here is a nice development tool for you - Eclipse.
Here is cygwin, in case you want your vi and other *nix tools under MS Windows.
I can give you thousands more examples. A whole bunch of interpreted languages, native compilers, free dev tools, you name it. It all works under Windows. You are spreading the FUD.
Now, as I said, the argument that GNU/Linux costs less works much better for the PCs sold to lower-class people, if it means they can actually afford the box.
If you are a middle-class individual, who can afford the box even if it is whatever X dollars more expensive, you are much better off with a Windows box. The chances are you will want to run MS Windows software and if you cannot then what good is the box?
Anyone at all can download a Free OS, once you have some OS installed on some box.
-
Re:Coldfusion still wins my heart
In addition to the many DB abstraction layers written in PHP, for years there has been a built-in module for DB abstraction called DBX. Unfortunately, it is not compiled into PHP by default, so you have to either re-compile PHP or load the module upon startup. Once you do that, you get high-performance cross-DB abstraction, with essentially all the speed of the standard DB-specific modules.
It's a mystery to me why this hasn't been included in PHP by default. I even entered a request for this in the bug list, and was brushed off with the remark that "PDO is coming soon, and we would rather focus our attention on it". Oh well... I hope PDO is worth the wait. -
The move is slow!
We just switched over from php4 to php5. The result was that a few things broke, but it wasn't anything that couldn't be corrected.
The major odvantages of PHP5 lay in it's new bundled features such as the improved object model, integrated simplexml (anyone who has had to deal with the other XML parsers will really appreciate this!), and sqlite. There is of course more, but I'll leave that for you to discover
;)Unfortunatly, it's not as easy for the newbies to install. Particularly where mysql is concerned because of the issues surrounding (the lack of) bundled client libraries for mysql. This has made it a little frustrating for us at #php/freenode, since we have to walk a lot of the new people through it.
On a down-note, I sort of wish they had taken the plunge and broken backwards compatibility to fix some of the more perennial issues with php, like it's lack of consistant naming conventions, and lack of key OOP functionality. We still don't have proper namespacing, or argument overloading, or multiple inheritance.
This book is probably a great idea for experienced programmers thinking of making the switch. Other good reading material: PHP5 OOP and Migrating from PHP4 to PHP5
-
The move is slow!
We just switched over from php4 to php5. The result was that a few things broke, but it wasn't anything that couldn't be corrected.
The major odvantages of PHP5 lay in it's new bundled features such as the improved object model, integrated simplexml (anyone who has had to deal with the other XML parsers will really appreciate this!), and sqlite. There is of course more, but I'll leave that for you to discover
;)Unfortunatly, it's not as easy for the newbies to install. Particularly where mysql is concerned because of the issues surrounding (the lack of) bundled client libraries for mysql. This has made it a little frustrating for us at #php/freenode, since we have to walk a lot of the new people through it.
On a down-note, I sort of wish they had taken the plunge and broken backwards compatibility to fix some of the more perennial issues with php, like it's lack of consistant naming conventions, and lack of key OOP functionality. We still don't have proper namespacing, or argument overloading, or multiple inheritance.
This book is probably a great idea for experienced programmers thinking of making the switch. Other good reading material: PHP5 OOP and Migrating from PHP4 to PHP5
-
Re:Upgrade to 5The one thing that still bugs me about PHP5 is that classes that are instanced in a global scope don't echo anything on destruction.
http://bugs.php.net/bug.php?id=29372
I reported a bug, but they still didn't fix this for 5.0.3... Of course this doesn't happen in PHP4 since destructors don't exist. Eh.
-
PHP5 projects
PHP5 really is a nice step forward from PHP4. It's improved object support and exception handling make it easier to sell as a "real language" with management and clients. And PDO looks quite promising as well. Unfortunately, it is hard to find hosts that support PHP5.
I've put together a set of componenets that I developed under a loose framework for PHP5, called phacade , that provide some of the conveniences of ASP.NET and JavaServer Faces, without all the headeaches those two technologies seem to include. phacade aims to provide components that can be used simply for simple projects, and as simply as possible for complex projects. Much like PHP itself, phacade is intended to work equally well for both procedural and Object Oriented scripts.
If you're a PHP5 developer, please check it out and feel free to send feedback.
Anyone else have any interesting PHP5 projects?
-
Re:mmh
new functions:
http://www.zend.com/manual/migration5.functions.ph p
new object model:
http://us3.php.net/manual/en/language.oop5.php
exceptions:
http://us3.php.net/manual/en/language.exceptions.p hp -
Re:mmh
new functions:
http://www.zend.com/manual/migration5.functions.ph p
new object model:
http://us3.php.net/manual/en/language.oop5.php
exceptions:
http://us3.php.net/manual/en/language.exceptions.p hp -
Re:Upgrade to 5I've been using PHP5 since the betas and code my scripts exclusively for PHP5.
After speaking with many hosts, they won't upgrade because their hosting package (ie: cpanel) doesn't support it yet. And they won't upgrade until that happens. The problem with cpanal supporting it is that some of the scripts they bundle (namely osCommerence) don't work in PHP5.
I've also found a lot that people still believe PHP5 is in beta and not compatible with PHP4 code. But here's the good word on the situation from the PHP folks.
-
Re:MySQL 4.1 with PHP 4?
And unfortuantely, you didn't read the full article in which you linked to.
While the main issue is that the password ( which changing MySQL to use the old password encription type is a solution, it's a hack. I'd hope RH set thier MySQL build to do this by default ), you still lack the extra function calls the new library (mysqli) has the the old one doesn't ( mainly to do with replication, but still handy nonetheless ).
For me, I'd rather sit on be with PHP 4/MySQL 4 or make the brave jump to PHP 5/MySQL 4.1. Obviously PHP must not be high on Redhat's priority list if a hack is need to get two previously fine working things together.
-
Re:Power? Performance? Ease of Use?
It's a custom XML-based documentation system from what I know. It's also open to everyone. Ever noticed the 'show source' link at the bottom of every page? It leads to the source of the current page and all included files are also linked. See for yourself.
-
Good news for PHP...
...and I'm glad it was included in this story, since I hadn't seen the prior one.
While a lot of people like to knock PHP (mostly Java guys, but hey ;) ), I love it. It's easy, functional, and lately, a lot more mature with the OO aspects. (I have one class now that I use for database access, and it makes life so much easier.)
With things like PHP-GTK, you can even use it to write applications, and with IBM behind it, things will likely only improve.
-
Re:Power? Performance? Ease of Use?
After moving away from Java, I couldn't be more pleased with the flexibility in PHP for web development and even shell script replacement.
It's concise (none of this System.out.println.pretty.please() funny business), the documentation is stellar, it plays nice with many different technologies, and I don't have to objectify and type-cast anything I don't want to. PHP 5 has all the object love and forced typing I need - and the great part about it is that its there if I need it. PHP also has a extension repository PEAR, and a slick templating engine, Smarty.
Sure, it 'lends itself to coding flaws', but it also lends itself to flexible web development and very quick development cycles.
Just because you put your code monkeys in front of Visual Studio or Eclipse *does not make the code any cleaner.* You can't force people to write clean code (which IMHO is an art). More 'structured' languages might even cause dummies to write even more workaround code. And while OOP is really great, I've seen folks who objectify projects into oblivion.
Don't buy in on broad-generalizations like the parent and check PHP out. PHP is on the up, and IBM (along with many others) are noticing.
-
Re:Power? Performance? Ease of Use?
After moving away from Java, I couldn't be more pleased with the flexibility in PHP for web development and even shell script replacement.
It's concise (none of this System.out.println.pretty.please() funny business), the documentation is stellar, it plays nice with many different technologies, and I don't have to objectify and type-cast anything I don't want to. PHP 5 has all the object love and forced typing I need - and the great part about it is that its there if I need it. PHP also has a extension repository PEAR, and a slick templating engine, Smarty.
Sure, it 'lends itself to coding flaws', but it also lends itself to flexible web development and very quick development cycles.
Just because you put your code monkeys in front of Visual Studio or Eclipse *does not make the code any cleaner.* You can't force people to write clean code (which IMHO is an art). More 'structured' languages might even cause dummies to write even more workaround code. And while OOP is really great, I've seen folks who objectify projects into oblivion.
Don't buy in on broad-generalizations like the parent and check PHP out. PHP is on the up, and IBM (along with many others) are noticing.
-
Re:Power? Performance? Ease of Use?
Except there is a standard library. It might not be complete enough for you (and some bits aren't compiled by default), but it's definitely a standard group of functions included in the distribution.
The documentation I just linked to is probably one of the biggest reasons for PHP's success. It's comprehensive, provides a good overview, and lets you easily dip in to find what you need. It makes it easy for amateurs to write simple PHP. (Admittedly with a whole load of coding errors, but they can improve.)
I'd also hardly say that no visual cue for what type a variable is represents a serious issue. It wasn't mentioned in that article you linked to, either. What makes it an issue is the easy and automatic typecasting, and lack of a decent structure in most php.
I'd dispute your statement that these things are quantifiable. It really is taste and, more importantly, experience. Many people can read LISP, for instance. To them a LISP program can be read as easily as, say, Python can be read by most traditional programmers. The best you can do is say what the average programmer is likely to find helpful, not necessarily which features are inherently helpful. -
Ask and ye shall receive
Not until netcraft confirms it is it getting popular!
-
Re:I *like* the OO.
There isn't really anything you need to know except what objects are available and what their interfaces are. The documentation is good enough for that.
-
Re:The Driving Force
"Give 'em the razor, then sell 'em the blades" That's PHP and Java.
Except there are free alterantives to Zend's products.
Of course Zend is trying to make money. They're a company. Companies exist to create products and make money. Do you get on MySQL AB's case for selling commercial licenses? -
Zend broke latest version of PHP
When we upgraded to the latest version of PHP, which also required a Zend upgrade, several of our applications wouldn't work. I have reason to believe there's a serious bug in the Zend engine which has crippled some functionality of PHP. We're still waiting for a fix so we can upgrade to a more secure version of PHP.
-
Re:I don't get it
I believe the article is talking about the zoo of new OO features in PHP5. Unless you have or would like to have OO code, you really don't notice it other than some of the PHP internal functions being moved into classes. Take a look at the object oriented parts of the PHP Manual.
-
Re:Hey, I like Perl!
Guess I am one of those scary people that actually use different tools for different tasks and do not spam the world with simplistic, general and irrelevant statements. about
Hey, why'd your post cut off? Did your Perl post that for you? AHAHAHAHAHA!
More relevantly to the topic, though, PHP is the only generally the best programming language. It's just that simple. -
Re:Does it cover appropriateness to task?
Thanks for bringing up that point. I found this: http://us2.php.net/manual/en/ref.memcache.php
-
Re:No mention of Security
I completely agree with the parent post. The amateur programmers who write scripts with the goal to "just get it working" are giving the PHP language a bad name. A book that respects itself should include at least one chapter explaining in detail the main principles of the most common mistakes and how to avoid them:
-don't trust the input
-filter input
-secure session handling (no session hijacking, etc.)
-secure password handling
Some resources I've found usefull are:
http://ro.php.net/manual/en/security.php
http://talks.php.net/index.php/Security
http://pixel-apes.com/safehtml -
Re:No mention of Security
I completely agree with the parent post. The amateur programmers who write scripts with the goal to "just get it working" are giving the PHP language a bad name. A book that respects itself should include at least one chapter explaining in detail the main principles of the most common mistakes and how to avoid them:
-don't trust the input
-filter input
-secure session handling (no session hijacking, etc.)
-secure password handling
Some resources I've found usefull are:
http://ro.php.net/manual/en/security.php
http://talks.php.net/index.php/Security
http://pixel-apes.com/safehtml -
Re:A PHP developer's reviewSee, here is why the book stinks compared to online. Obviously they have formats that are friendly not just to all OSes but also many languages.
Notice that there are notes. User notes. Those are often more valuable to me than the documentation. No book has those. That is why the online/print it out solution is infinitly better.
-
Request for Comments
Lately I have been tasked with helping our communications department get on track with creation of a data driven website. At the moment, we're talking about helping two people. One is a graphic designer who manages a fairly large website. She has done a little bit of asp/access, but I don't think she understands it particularly well. She says she did a little php a long time ago. The other individual has been maintaining a filemaker database which presently contains data that is not in an optimal format for programming. This second individual has, using filemaker, managed to generate static pages off of the data (using some rather scary techniques). While they both have probably seen or written a few sql statements, I doubt they understood what they were doing.
I am on loan to this department, so I can't just finish the project in a weekend and then hand it to them. Rather it's going to be a fairly long drawn out educational process (~2 months @ 1/2 time). They need to be able to understand how it works, how to maintain it, how to enhance it. Essentially they need to be an integral/invested part of the development process.
Anyways, my initial idea was to have them use PHP alongside Pear's DB_DataObject and eventually Html_QuickForm libraries. For those not in the know, DB_DataObject is an object oriented data access layer generator framework thingy. Basically, instead of establishing connections, writing sql statements, and iterating over recordsets, they can write fairly simple code like the following.
require_once('some-config-file.php');
$student = new DB_Student(); // declaration
$student->get(2); // gets the student with pri key=2
print $student->name; // print's student's name.
$student->name = "Bob Bobertson"; set students name.
$student->update(); // commits name change
Now when I see a newbie book teaching people to pound out their own sql and use old school mysql_connect style functions, I question my judgement. Is it a good idea or a bad idea to try to introduce these kinds of rapid development tools to novices? On one hand, these tools make my life easier on a daily basis. On the other hand, sometimes it's better to know the basics before going off to advanced topics like this. What do you guys think?
It should be noted that whatever happens we are not sticking with filemaker (not even my decision). We will either be using Access which doesn't appear to be supported by DB_DataObject or potentially Access/ADP/MSDE or Access/Linked/MySQL which both do work with DB_DataObject. I am desperately trying to set up something that lets them create/edit/drop tables from within Access and lets them easily design queries in access which are then usable with DB_DataObject.
Thus far, the closest I've come is using MSDE (light weight MS SQL Server) as the backend for Access. This is done using the Active Data Project (ADP) format not with linked tables. They can create/edit/drop tables and create views in Access. The views and tables are all reachable via DB_DataObject. However, there is no expression builder in the Access interface when working in this fashion.
This is problematic because these folks are more accustomed to using wizards to dump all of their messed up logic right into their database software. I can see them wanting to create numerous complicated views but not knowing how unless they learn a sizable chunk of TSQL. If they have to do that, the value of a library like DB_DataObject, which prevents them from having to write sql, is significantly reduced.
Personally, I think it all comes down to which they want to be easier: creating access forms/queries/etc or creating data driven web pages. Any thoughts? -
Request for Comments
Lately I have been tasked with helping our communications department get on track with creation of a data driven website. At the moment, we're talking about helping two people. One is a graphic designer who manages a fairly large website. She has done a little bit of asp/access, but I don't think she understands it particularly well. She says she did a little php a long time ago. The other individual has been maintaining a filemaker database which presently contains data that is not in an optimal format for programming. This second individual has, using filemaker, managed to generate static pages off of the data (using some rather scary techniques). While they both have probably seen or written a few sql statements, I doubt they understood what they were doing.
I am on loan to this department, so I can't just finish the project in a weekend and then hand it to them. Rather it's going to be a fairly long drawn out educational process (~2 months @ 1/2 time). They need to be able to understand how it works, how to maintain it, how to enhance it. Essentially they need to be an integral/invested part of the development process.
Anyways, my initial idea was to have them use PHP alongside Pear's DB_DataObject and eventually Html_QuickForm libraries. For those not in the know, DB_DataObject is an object oriented data access layer generator framework thingy. Basically, instead of establishing connections, writing sql statements, and iterating over recordsets, they can write fairly simple code like the following.
require_once('some-config-file.php');
$student = new DB_Student(); // declaration
$student->get(2); // gets the student with pri key=2
print $student->name; // print's student's name.
$student->name = "Bob Bobertson"; set students name.
$student->update(); // commits name change
Now when I see a newbie book teaching people to pound out their own sql and use old school mysql_connect style functions, I question my judgement. Is it a good idea or a bad idea to try to introduce these kinds of rapid development tools to novices? On one hand, these tools make my life easier on a daily basis. On the other hand, sometimes it's better to know the basics before going off to advanced topics like this. What do you guys think?
It should be noted that whatever happens we are not sticking with filemaker (not even my decision). We will either be using Access which doesn't appear to be supported by DB_DataObject or potentially Access/ADP/MSDE or Access/Linked/MySQL which both do work with DB_DataObject. I am desperately trying to set up something that lets them create/edit/drop tables from within Access and lets them easily design queries in access which are then usable with DB_DataObject.
Thus far, the closest I've come is using MSDE (light weight MS SQL Server) as the backend for Access. This is done using the Active Data Project (ADP) format not with linked tables. They can create/edit/drop tables and create views in Access. The views and tables are all reachable via DB_DataObject. However, there is no expression builder in the Access interface when working in this fashion.
This is problematic because these folks are more accustomed to using wizards to dump all of their messed up logic right into their database software. I can see them wanting to create numerous complicated views but not knowing how unless they learn a sizable chunk of TSQL. If they have to do that, the value of a library like DB_DataObject, which prevents them from having to write sql, is significantly reduced.
Personally, I think it all comes down to which they want to be easier: creating access forms/queries/etc or creating data driven web pages. Any thoughts? -
Re:Glad to see it...
Why do folks constantly reinvent the same thing? No or little borrowing. All customized.
NIH syndrome knows no language, it's universal. PHP has PEAR and the PHP Foundry on SourceForge, developers who don't check there for code to meet their needs before running off to write stuff deserve the pain.
Plone borrowing from Zope and Zope borrowing from Python
Plone, Zope, and Python are entirely different sorts of beasts. I'm not sure what your point is.
-
Re:Glad to see it...
With Plone, you can see what is possible...with Zope. With Zope, you can see what is possible with Python.
The problem here is that Plone is not a language; it is a CMS. And Zope is not a langauge; it is a framework that happens to be written in the language Python. Python otherwise shares the same problem as PHP: when you start a new project, you either have to find some existing code or reinvent the wheel. Zope minimizes this by providing a framework in which you can work and find a lot of the code you already need -- the wheel is already there.
There are many, many PHP frameworks out there that try to fill this need. The trouble is that there isn't a single PHP framework that has achieved the same level of notoriety as Zope. However, more and more people are using PEAR [pear.php.net] as a framework, and the beauty of PEAR is that you don't have to use the entire framework in one installation; you can pick and choose.
So, people in the PHP community are working to solve the wheel reinventing problem; it's just that many people either don't know about it or don't want to learn to use the existing frameworks.
-
Re:Glad to see it...
Another gripe about PHP. Why do folks constantly reinvent the same thing? No or little borrowing. All customized.
Huh?Plone products -- borrowing from Plone and other Plone Products with Plone borrowing from Zope and Zope borrowing from Python -- is just about an ideal example of how to strengthen multiple projects while still getting the narrowly focused service you want that can be tweaked at will. Others can come up with non-Plone examples that they favor, so don't take this as a PHP vs. Plone rant. It's a world vs. PHP rant!
Oh, Plone is great if you just want to quickly deploy a CMS. It's H-E-L-L if you need to develop on top of it. About the absolutely worst software documentation I've ever seen in my life. :} -
I wrote a PHP Script to do this
I wrote a PHP script to do this a while back, here's my post about it:
http://slashdot.org/comments.pl?sid=79566&cid=70 29 828
It took a OpenOffice Writer file, unzipped it, and replaced specific text with data from my database. It wasn't too difficult, and allowed me to create Template Documents that already had information inside it.
I haven't really used it though, since everyone was happy with PDF files and I use the Pear Class for generating spreadsheets in Excel (http://pear.php.net/package/Spreadsheet_Excel_Wri ter#results) .
I'm sure I'll end up using the script in the future, especially for generating bids, letters, reports, etc.
---
Brandon Petersen
Get Firefox! -
PHP implementation
Couple days late, but I just finished banging out a lightweight PHP implementation of JSON.
-
Re:I use it...
There's also the PHP PEAR system as well - they have an abstraction layer.
"The currently supported extensions are: dbase, fbsql, interbase, informix, msql, mssql, mysql, mysqli, oci8, odbc, pgsql, sqlite and sybase"
From: http://pear.php.net/package/DB -
SMARTY - God's gift to PHP programmers.
-
SMARTY
I'm surprised nobody's mentioned Smarty. It seems to be gaining popularity as a useful system for separating content from presentation. http://smarty.php.net/
-
My Laundry List
In my capacity as a web developer, here are the software packages that I feel you should have a firm understanding of:
- XHTML - not just 'HTML', XHTML has a few changes that you should get used to (such as closing all tags, even <img src="..."/> and <br/> tags, and all tags being lowercase). For the upcoming specifications, such as XHTML 2.0, which will be very different (you can apply an href="..." property to ANY object, instead of having to wrap it in an <a href=..."> tag), it never hurts to be prepared.
- CSS3 - May as well read up now, it's going to be relevant in not too long.
- Photoshop - Use The GIMP if you must, but I find Photoshop generally does what I need it to with less hassle.
- PHP, ASP, Coldfusion, and J2EE - You don't have to learn how to program in each one, but learn about these solutions, if for no other reason than to make compelling arguments against them if the bosses ever ask you about them (or worse, fail to ask you about them)
- Apache and IIS - for the same reasons as listed above; also, a lot of things in Apache (mod_rewrite, for example) can help you solve problems down the road. Good things to know.
- A good editor. I use ViM myself, but what you use is up to you. What you'll want is syntax highlighting, auto-indenting, and a powerful (preferably regex) search/replace. Learn to use your editor and you will save hours of work with seconds of typing.
And now for some soft skills. First, you'll need to learn to give effective presentations. You could use Powerpoint for this, or Keynote or Impress or just print them on transparencies and put them on an overhead projector. How you do it is up to you. Will you ever need to give presentations? Not really, but effective presentations require a lot of soft skills - eye contact, graphic design, pacing, speech tones, body language - that to be skilled in presentations in general means to be skilled in a lot of other areas.
You should also familiarize yourself with colour. Learn about Pantone, just so that you know about it. Learn how colours play off each other, which colors look good on which backgrounds. Learn about bordering, whitespace, balance, and form. Consider the Pantone Guide to Communicating with Color - out of 61 reader reviews, it got 4.5/5 stars, and is a good place to start.
Learn about logos. How companies make logos, and why. What goes into making a logo, subconscious suggestions from logos (there's a reason Playboy picked a bunny for their logo, and it's not obvious). This will help in your graphic design and page layout.
Learn about accessibility and colour-blindness.
I'm probably missing a ton of important stuff, but if you do it right and are willing to learn (and posting on slashdot seems to imply that), you'll probably learn what you need to know as you go. If not, just come back and post another Ask Slashdot.
-
Re:Python Servlet Engine is the answer!
Sick of the problems with PHP? Badly implimented APIs, web pages with ugly code buried everyplace doing things that it should be?
Try PSE! It cures warts, common colds and PHP!
http://nick.borko.org/pse/
Ciao!
Oh come on... If you are witing ugly PHP code then you don't know the language.
Have a JAVA/.NET developer look at PHP5 and they'll tell you how it exudes enterprise level features.
Add Smarty and PEAR to the mix and you have one hell of a platform. -
Re:Python Servlet Engine is the answer!
Sick of the problems with PHP? Badly implimented APIs, web pages with ugly code buried everyplace doing things that it should be?
Try PSE! It cures warts, common colds and PHP!
http://nick.borko.org/pse/
Ciao!
Oh come on... If you are witing ugly PHP code then you don't know the language.
Have a JAVA/.NET developer look at PHP5 and they'll tell you how it exudes enterprise level features.
Add Smarty and PEAR to the mix and you have one hell of a platform. -
Re:Honest question:
With PHP 5, a lot of things aren't quite as you portray them anymore.
You can't even dynamically add methods to PHP classes or dynamically modify the methods on an existing class.
Classkit does a lot towards this end, though it's not enabled by default, I believe.
There are no hooks called before and after method calls, etc. No way to access the syntax tree of a class.
There aren't any hooks, this is true. One could extend a class and place the hooks in the new version (even using the __get and __call functions to make a generic wrapping class). Still, I recognize this isn't a particularly workable solution in many cases.
The syntax tree of a class can be accessed via reflection.
-
Some stuff I use
BSPlayer for movies, its fast and fairly lightweight. theres free, and non-free versions on the BSPlayer site
SmartFTP - n00b friendly FTP client - free for home/non-commercial use
pretty obvious what the following 3 are:
Apache
MySQL
PHP
PostCast SMTP server
CrapCleaner! cleans crap from your PC! temp files, MRUs, deletes invalid registry stuff. Whenever I use it, it usually free's up ~1GB on my hard drive! quite amazing how much crap there is on XP
Firefox and Thunderbird -
Way to go, chief
Text only, eh? To the multitudes, I present two functions, base64_encode and base64_decode.
Email is still all text and probably always will be :-p -
Way to go, chief
Text only, eh? To the multitudes, I present two functions, base64_encode and base64_decode.
Email is still all text and probably always will be :-p -
Re:PHP used to be an ASF project
I have a FAQ about this exact thing for this exact reason on my website.
From the FAQ:The PHP Manual says not to use PHP and Apache2 in production. This is because of multi-threading issues. Some PHP libraries are not thread-safe and therefore can crash PHP. These errors are often not seen by smaller or low-traffic sites as they are due to race conditions in the libraries. If you want to use Apache2 with PHP and not have it crash, the recommendation is to use Apache2's prefork mode.
See this thread on the php-general list for more discussion.
-
Re:Check PHP.org SeverMight be relevant if www.php.org were the PHP homepage.
Actually www.php.net is and their Netcraft result shows they're using Apache1.
-
Re:Apache1 vs. Apache2This page might help, but it looks like the openisis link is broken, so this one will get you the info on FastCGI.
Will USER directives do what you want automatically? I'm not sure what Apache classifies as CGI, PHP may or may not be included.User directive
Special note: Use of this directive in <VirtualHost> requires a properly configured suEXEC wrapper. When used inside a in this manner, only the user that CGIs are run as is affected . Non-CGI requests are still processed with the user specified in the main User directive.