473,609 Members | 1,972 Online
Bytes | Software Development & Data Engineering Community
+ Post

Home Posts Topics Members FAQ

Feedback wanted: new PHP template engine

Hi all,

The last few months I've worked on making a template engine because
the ones out there didn't serve my needs. I guess everybody knows
Smarty and has an opinion on it; I like many things about it, but
dislike many others. The thing I made is called 'Farty' (sorry, I suck
at names) and is in many ways a simpler version of Smarty. It keeps
the good (compiling to php files, clean syntax) and fixes the bad
(having to learn a new language, limited flexibility). I also added
some pretty nifty extensibility features, and I even wrote some docs!
I believe that right now it's just about as powerful as Smarty except
for some missing pre-packaged template functions - otherwise it should
be pretty mature already.

Anyway, I've hesitated for a while because that's the shy guy I am,
but I'd really want some feedback on it now, and see if the PHP
community thinks that this is a project work continuing (and given a
better name, maybe).

As such, any comments, good or bad, either here or on the website,
will be more than appreciated.

The URL is http://e.teeselink.nl/farty

Any feedback is very appreciated!
Jun 2 '08 #1
14 1566
Egbert Teeselink wrote:
Hi all,

The last few months I've worked on making a template engine because
the ones out there didn't serve my needs. I guess everybody knows
Smarty and has an opinion on it; I like many things about it, but
dislike many others. The thing I made is called 'Farty' (sorry, I suck
at names) and is in many ways a simpler version of Smarty. It keeps
the good (compiling to php files, clean syntax) and fixes the bad
(having to learn a new language, limited flexibility). I also added
some pretty nifty extensibility features, and I even wrote some docs!
I believe that right now it's just about as powerful as Smarty except
for some missing pre-packaged template functions - otherwise it should
be pretty mature already.

Anyway, I've hesitated for a while because that's the shy guy I am,
but I'd really want some feedback on it now, and see if the PHP
community thinks that this is a project work continuing (and given a
better name, maybe).

As such, any comments, good or bad, either here or on the website,
will be more than appreciated.

The URL is http://e.teeselink.nl/farty

Any feedback is very appreciated!
I'm a really experienced Smarty user and i must say that i like your
syntax more than the syntax Smarty uses.

I like the tag libary syntax.

I didn't testet Farty but absolute requirements are for me:

1. Good error messages if a compile failed
2. Stability
3. Ability to use objects in the template (not visible in the website or
in the samples)
4. Method chaining

And you shold change the name asap. It's a marketing disaster.

Joe
Jun 2 '08 #2
Egbert Teeselink schreef:
>I didn't testet Farty but absolute requirements are for me:

1. Good error messages if a compile failed
2. Stability
3. Ability to use objects in the template (not visible in the website or
in the samples)
4. Method chaining

Thanks for the feedback!
1 is a disaster right now, as basically anything will get compiled,
possibly into erroneous PHP code, resulting in a parse error in the
compiled file. will work on that one.

2 and 3 should be fine, though it's hard to tell about stability of
course

What do you mean by method chaining? Calling one method with the
results of another is possible by definition, because the expression
code is simply PHP code..
>And you shold change the name asap. It's a marketing disaster.

True that, I should. Any suggestions, anyone? I really suck at this,
so stuck with a bad joke. Somehow I'd like to keep a Smarty reference
because of how much it's been inspired by Smarty - without sounding
like a ripoff..
Party?

Regards,
Erwin Moller
Jun 2 '08 #3
Erwin Moller wrote:
Egbert Teeselink schreef:
>>I didn't testet Farty but absolute requirements are for me:

1. Good error messages if a compile failed
2. Stability
3. Ability to use objects in the template (not visible in the website or
in the samples)
4. Method chaining

Thanks for the feedback!
1 is a disaster right now, as basically anything will get compiled,
possibly into erroneous PHP code, resulting in a parse error in the
compiled file. will work on that one.

2 and 3 should be fine, though it's hard to tell about stability of
course

What do you mean by method chaining? Calling one method with the
results of another is possible by definition, because the expression
code is simply PHP code..
>>And you shold change the name asap. It's a marketing disaster.

True that, I should. Any suggestions, anyone? I really suck at this,
so stuck with a bad joke. Somehow I'd like to keep a Smarty reference
because of how much it's been inspired by Smarty - without sounding
like a ripoff..

Party?
Smurfy?

--
Rik Wasmus
....spamrun finished
Jun 2 '08 #4
Rik Wasmus escribió:
>>>And you shold change the name asap. It's a marketing disaster.

True that, I should. Any suggestions, anyone? I really suck at this,
so stuck with a bad joke. Somehow I'd like to keep a Smarty reference
because of how much it's been inspired by Smarty - without sounding
like a ripoff..

Party?

Smurfy?
Xarty? All cool names must have an X somewhere.

--
-- http://alvaro.es - Álvaro G. Vicario - Burgos, Spain
-- Mi sitio sobre programación web: http://bits.demogracia.com
-- Mi web de humor al baño María: http://www.demogracia.com
--
Jun 2 '08 #5
On 29 May, 14:08, "Álvaro G. Vicario"
<alvaroNOSPAMTH A...@demogracia .comwrote:
Rik Wasmus escribió:
>>And you shold change the name asap. It's a marketing disaster.
>True that, I should. Any suggestions, anyone? I really suck at this,
so stuck with a bad joke. Somehow I'd like to keep a Smarty reference
because of how much it's been inspired by Smarty - without sounding
like a ripoff..
Party?
Smurfy?

Xarty? All cool names must have an X somewhere.
I like that one.

Jun 2 '08 #6
Erwin Moller wrote:
Egbert Teeselink schreef:
I didn't testet Farty but absolute requirements are for me:
>
1. Good error messages if a compile failed
2. Stability
3. Ability to use objects in the template (not visible in the
website or in the samples)
4. Method chaining
Thanks for the feedback!
1 is a disaster right now, as basically anything will get compiled,
possibly into erroneous PHP code, resulting in a parse error in the
compiled file. will work on that one.

2 and 3 should be fine, though it's hard to tell about stability of
course

What do you mean by method chaining? Calling one method with the
results of another is possible by definition, because the expression
code is simply PHP code..
And you shold change the name asap. It's a marketing disaster.
True that, I should. Any suggestions, anyone? I really suck at this,
so stuck with a bad joke. Somehow I'd like to keep a Smarty
reference because of how much it's been inspired by Smarty -
without sounding like a ripoff..

Party?
Or Xmarty?

--
Kim André Akerø
- ki******@NOSPAM betadome.com
(remove NOSPAM to contact me directly)
Jun 2 '08 #7
Captain Paralytic wrote:
On 29 May, 14:08, "Álvaro G. Vicario"
<alvaroNOSPAMTH A...@demogracia .comwrote:
>Rik Wasmus escribió:
>>>>>And you shold change the name asap. It's a marketing disaster.
True that, I should. Any suggestions, anyone? I really suck at this,
so stuck with a bad joke. Somehow I'd like to keep a Smarty reference
because of how much it's been inspired by Smarty - without sounding
like a ripoff..
Party?
Smurfy?
Xarty? All cool names must have an X somewhere.
I like that one.
Naw, I prefer Z's - Zarty. Or maybe Quarty?

If it's stable, how about Hearty?

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
js*******@attgl obal.net
=============== ===
Jun 2 '08 #8
On 29 May, 15:22, Jerry Stuckle <jstuck...@attg lobal.netwrote:
Captain Paralytic wrote:
On 29 May, 14:08, "Álvaro G. Vicario"
<alvaroNOSPAMTH A...@demogracia .comwrote:
Rik Wasmus escribió:
>>>>And you shold change the name asap. It's a marketing disaster.
True that, I should. Any suggestions, anyone? I really suck at this,
so stuck with a bad joke. Somehow I'd like to keep a Smarty reference
because of how much it's been inspired by Smarty - without sounding
like a ripoff..
Party?
Smurfy?
Xarty? All cool names must have an X somewhere.
I like that one.

Naw, I prefer Z's - Zarty. Or maybe Quarty?

If it's stable, how about Hearty?

--
=============== ===
Remove the "x" from my email address
Jerry Stuckle
JDS Computer Training Corp.
jstuck...@attgl obal.net
=============== ===
So will we have to remove the "z" instead in future ;-)
Jun 2 '08 #9
Egbert Teeselink a écrit :
>And you shold change the name asap. It's a marketing disaster.

True that, I should. Any suggestions, anyone?
Qwerty ? *gg*

--
Guillaume
Jun 2 '08 #10

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

16
2352
by: Andrea A | last post by:
Hi, i'm developing a website that will have an huge amount of visitors a day --> it will be a contest with 100.000$ of prize. I'm concerning about using a template class (and which one do you suggest) or developing an optimized set of pages without using class nor PEAR package. What do you think about? What will be your action if you'll be me?
1
1616
by: Wensheng | last post by:
Hi, I wrote a small template engine called spytee. Like any template enigne, it take a text(html) template file as input, process the variable tags in the file, and display the resulted text. The difference from most templates are: you can edit the template file in the html editor(Frontpage, Dreamweaver, whatever), thus a near Complete seperation of presentation and logic. It's very simple and easy, you only need 3 types of tags to...
1
1237
by: robin | last post by:
I am looking for a client/server reporting tool to use with a web application built in Python. It would consist of three parts: 1. a data definition & retrieval engine that interfaces to RDBMS or other data files 2. a visual designer in which a nontechnical person can create a report layout template (supporting charts, text, graphics, etc.)
1
1371
by: Robert J. Hansen | last post by:
I'm exploring the use of type traits (which, I hasten to say, I've hardly ever used before) as a way to help simplify some complex special-case logic in an existing codebase. I'm finding that I'm running into some of the sharp corners of the C++ template facility. I'm hoping someone can answer a couple of questions about the following code snippet: ===== template <
2
1582
by: Brent | last post by:
Like many sites, mine has a standard "look" -- a template, if you will -- that visitors see on each page. I've tried to keep the code and HTML separate to the extent possible, and for most standard page presentations, it works well. However, I have a couple of screen scrape / import routines that can take minutes, even hours, to complete. I'd like to have some way of outputting my template first to the browser, and then within the...
0
1960
by: k04jg02 | last post by:
Python has a nifty operator that will take a container and pass its elements as function parameters. In Python you can make a list like so: x = Then you can say: f(*x)
5
3003
by: prakash.mirji | last post by:
I am using evaluation copy of RW 9.0 for porting one of C++ application on RHEL4 (x86 platform). We are getting some issues into RW template classes. Please need assistance on this issue. Here is the problem: Application is using below mentioned template class which is declared at static in Engine.h
17
3220
by: allen.fowler | last post by:
Hello, Can anyone recommend a simple python template engine for generating HTML that relies only on the Pyhon Core modules? No need for caching, template compilation, etc. Speed is not a major issue. I just need looping and conditionals. Template inheritance would be a
6
1335
by: Christopher Vogt | last post by:
Hej everybody, I built something for myself that might help some of you as well. Looking at a couple of PHP template engines made me think. I have two main requirements for a presentation layer framework: - use PHP as the template language - effective XSS prevention without betting on discipline Plain PHP only satisfies the first. I could not find a PHP template
0
8145
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However, people are often confused as to whether an ONU can Work As a Router. In this blog post, we’ll explore What is ONU, What Is Router, ONU & Router’s main usage, and What is the difference between ONU and Router. Let’s take a closer look ! Part I. Meaning of...
0
8588
Oralloy
by: Oralloy | last post by:
Hello folks, I am unable to find appropriate documentation on the type promotion of bit-fields when using the generalised comparison operator "<=>". The problem is that using the GNU compilers, it seems that the internal comparison operator "<=>" tries to promote arguments from unsigned to signed. This is as boiled down as I can make it. Here is my compilation command: g++-12 -std=c++20 -Wnarrowing bit_field.cpp Here is the code in...
0
8556
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven tapestry of website design and digital marketing. It's not merely about having a website; it's about crafting an immersive digital experience that captivates audiences and drives business growth. The Art of Business Website Design Your website is...
1
8236
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows Update option using the Control Panel or Settings app; it automatically checks for updates and installs any it finds, whether you like it or not. For most users, this new feature is actually very convenient. If you want to control the update process,...
0
8410
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each protocol has its own unique characteristics and advantages, but as a user who is planning to build a smart home system, I am a bit confused by the choice of these technologies. I'm particularly interested in Zigbee because I've heard it does some...
0
4037
by: TSSRALBI | last post by:
Hello I'm a network technician in training and I need your help. I am currently learning how to create and manage the different types of VPNs and I have a question about LAN-to-LAN VPNs. The last exercise I practiced was to create a LAN-to-LAN VPN between two Pfsense firewalls, by using IPSEC protocols. I succeeded, with both firewalls in the same network. But I'm wondering if it's possible to do the same thing, with 2 Pfsense firewalls...
1
2541
by: 6302768590 | last post by:
Hai team i want code for transfer the data from one system to another through IP address by using C# our system has to for every 5mins then we have to update the data what the data is updated we have to send another system
1
1690
muto222
by: muto222 | last post by:
How can i add a mobile payment intergratation into php mysql website.
0
1407
bsmnconsultancy
by: bsmnconsultancy | last post by:
In today's digital era, a well-designed website is crucial for businesses looking to succeed. Whether you're a small business owner or a large corporation in Toronto, having a strong online presence can significantly impact your brand's success. BSMN Consultancy, a leader in Website Development in Toronto offers valuable insights into creating effective websites that not only look great but also perform exceptionally well. In this comprehensive...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.