Could someone please help with a fairly obvious question:
I recently developed a small web site using html & PHP and in the course of that developed reusable modules, functions & classes to handle common menu tabs, footers, meta info, etc. I also used quite a few scripts from sites like PHPBuilder & HotScripts for implementing features like forms, quote-of-the-day and a guestbook.
Of course I quickly found that: (1) The modules & functions I was developing must have been done a thousand times before, and (2) that reusing independently-developed modules took a lot of time to find, test, adapt to my coding conventions, and integrate.

I am now developing a small-ish web site (under 100 pages) for my business, but before I start I want to find a tool that can provides the following:
- Templates (standard layouts with header, sidebar, content area and footer with styles defined by CSS), where kind developers have already tested it on all the common flavours & combinations of screen sizes, OS's and browsers.
- Common code like html headers, navigation menu & footers coded in one place
- Driven by static files or MySql
- Suitable for development on a Windows PC, with deployment to a shared web host service running Apache, PHP & MySql.
- It must be possible to deploy the web pages to the web host by just uploading the php & html files (& the database content if applicable). I.e. it must not be necessary to have the entire environment running on the web host or have access to shell commands as seems to be the case with CMS's.
- Well-written, tested, integrated modules like user-polls, user-managment, guestbook, forms, forums, etc.
- Preferably open source.
- Has got good community support and is developed on an ongoing basis
- Clean code and reasonable speed

What do I need to do this? A framework? A template system? A CMS? A code library?
I've looked at Typo3, Midgard, PHP-Nuke, Smarty, PatTemplate & a bunch of others but either they are too superficial (like templates that just provide some button & background gif's), too "disintegrated" (like PEAR, which offers wonderful functions but not an integrated template system)
or too big & cumbersome (like Typo 3 which seems to need a 30MB environment uploaded to the web host before you can even start to use it).

I'd appreciate your suggestions.

    16 days later

    B The modules & functions I was developing must have been done a thousand times before[/b]

    Indeed very true but instead of looking on the bad side of this - look on the good side. How good does it look to a future employer that you developed your OWN and are therefore able to customize your OWN code for a future employer's / client's needs because you are familiar with your OWN code.

    It is also good practice for bigger, better things. Like you said yourself - you need to play with php more.

    b that reusing independently-developed modules took a lot of time to find, test, adapt to my coding conventions, and integrate.[/b]

    See above paragraph. You can save yourself all of this bother by developing your own. In the long run you will even be doing yourself a favour. Also saving yourself time in long term. I see the code snippets and class sites on the net as an opportunity to see hwo somebody else did it and to see any functions for example that I've never seen before and may come in useful in the future.

    I am now developing a small-ish web site (under 100 pages) for my business, but before I start I want to find a tool that can provides the following:

    You don't want much now do ya?? I bet Santa looooooooved you! Okay here goes.

    - Templates (standard layouts with header, sidebar, content area and footer with styles defined by CSS), where kind developers have already tested it on all the common flavours & combinations of screen sizes, OS's and browsers.

    There are many of these on the Internet but on the most part be prepared to spend some money for these as developers spent a HELL of a lot of time designing, building and testing these templates. Trust me - I know from experience.

    I have no useful URLs, however. Just be extremely wary of the template sellers in eBay. Better still don't touch them. Hundreds or thousands of other jusers may end up with same template page layout as you and that's VERY unprofessional!!

    - Common code like html headers, navigation menu & footers coded in one place

    Easy! There are many ways of doing this using different techniques. Seeing as we're php builders in here, I'm assuming that you want to use php for this. Use an INCLUDE. This takes a file such as 'menu.txt' and places it in the HTML body as if it was there already. If you do this to 100 pages, you only need to make the changes to this ONE 'menu.txt' file and 100 pages are changed automatically!

    include 'vars.php';

    More info can be found at PHP.net's manual

    - Driven by static files or MySql

    I cannot say much for this one as I'm currently concentrating on coding without involvement of SQL while still keeping things organised :queasy: However, for a website spanning just under 100 pages like you say then using MySQL is highly recommended. How to sue it isn't my forte, however. If you need to have a form for the user to sign up to a newsletter using built-in mail functions straight from your website to send newsletters to the people who signed up -- then I can help! Simple things like compiling a list such as email addresses can be done using static files called flat-file databases.

    With the large amount of files I assume you want to use - I'd use MySQL.

    - Suitable for development on a Windows PC, with deployment to a shared web host service running Apache, PHP & MySql.

    PHP, MySQL and Apache are all developed under the OSI (Open Source Initiative) which states strongly that projects accomodated under the initiative operate under all platforms including Winblows. I mean Windows.

    - It must be possible to deploy the web pages to the web host by just uploading the php & html files (& the database content if applicable). I.e. it must not be necessary to have the entire environment running on the web host or have access to shell commands as seems to be the case with CMS's.

    I don't understand this. If you don't want to use a CMS to upload your files to your server then use an FTP client. If you mean from the website itself then all you need minimum is two pages -one for entering the data into a form that sends the variables to the seocnd page which sends the data to database.

    Still, I don't understand this one.

    - Well-written, tested, integrated modules like user-polls, user-managment, guestbook, forms, forums, etc.

    HotScripts or even try contacting this guy. He's very good with his clients. He creates the things you require with well written code, fitting comments and his code is always geared towards future expansion on your part. Give him a go 🙂

    In reference to it being part of a development tool ... even Dreamweaver MX doesn't have these!!

    - Preferably open source.

    For your business? Open source means non profit. General User License. You need commercial licenses. I also hope you purchased the commercial rights to php, apache and MySQL! I can feel you cringe now :p

    - Has got good community support and is developed on an ongoing basis

    I haven't specified a tool as I believe there is no tool available that fits your needs.

    - Clean code and reasonable speed

    This is a mere Geek myth...

    What do I need to do this? A framework? A template system? A CMS? A code library?

    I dno... yourself + the php manual!?

    I'd appreciate your suggestions.

    You're welcome 🙂

      Originally posted by Davy
      or even try contacting this guy. He's very good with his clients. He creates the things you require with well written code, fitting comments and his code is always geared towards future expansion on your part. Give him a go 🙂

      coughcoughshameless self promotioncough*

        <CLIENT need=110% default=0> DH-CV </CLIENT>

        God I'm turnin into such a Geek...

          Write a Reply...