473,396 Members | 2,102 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,396 software developers and data experts.

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 1548
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
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..
Jun 2 '08 #3
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 #4
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 #5
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 #6
On 29 May, 14:08, "Álvaro G. Vicario"
<alvaroNOSPAMTHA...@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 #7
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******@NOSPAMbetadome.com
(remove NOSPAM to contact me directly)
Jun 2 '08 #8
Captain Paralytic wrote:
On 29 May, 14:08, "Álvaro G. Vicario"
<alvaroNOSPAMTHA...@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*******@attglobal.net
==================
Jun 2 '08 #9
On 29 May, 15:22, Jerry Stuckle <jstuck...@attglobal.netwrote:
Captain Paralytic wrote:
On 29 May, 14:08, "Álvaro G. Vicario"
<alvaroNOSPAMTHA...@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...@attglobal.net
==================
So will we have to remove the "z" instead in future ;-)
Jun 2 '08 #10
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 #11
Egbert Teeselink wrote:
>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..
I'd like to suggest Fizzer (Fizzers being the UK version of the candy
called "Smarties" in the USA). Maybe too subtle of a reference - but
rhyme puns are so last year.
Jun 2 '08 #12
On May 29, 8:01*pm, Jeremy <jer...@pinacol.comwrote:
Egbert Teeselink wrote:
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..

I'd like to suggest Fizzer (Fizzers being the UK version of the candy
called "Smarties" in the USA). *Maybe too subtle of a reference - but
rhyme puns are so last year.
Hah yeah, I was already considering M&M, but well, yeah, trademark
issues, confusion, etcetera. I like your idea though, but I'm not
British and it probably has the same problem :)

Thanks for all the suggestions btw (and please keep em coming). I
don't completely dislike zarty, quarty and qwerty btw :)

Other than that - anyone else care to comment on the actual lib as
well? :-)

Thanks for all the input,

Egbert
Jun 2 '08 #13
Egbert Teeselink wrote:
...snipped...

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..
Like:
<code>
$object->foo()->bar()
</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..
Personally i wouldn't use a name that references to Smarty because your
template engine don't have that much similarities with Smarty (beside
that your template engine using curly braces as delimiter and also
compiles the templates into php code).

Personally i would use a more abstract name because it's very difficult
to create/find a name describing a product properly.

Your main "unique selling point" over Smarty is that your template
syntax is similar to php. The name should point that out.

My Suggestions are:
1. phpTPL - php syntax in templates
2. Php Syntax Template (PST)

As alternate "fancy" name i would suggest "Coherence" based on
Quantum coherence.
(http://en.wikipedia.org/wiki/Quantum...ntum_coherence)

You can argument that you php code and template code is in coherence.

Joe
Jun 2 '08 #14
On May 30, 9:13*am, Joe Scylla <joe.scy...@gmail.comwrote:
Egbert Teeselink wrote:
...snipped...
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..

Like:
<code>
$object->foo()->bar()
</code>
Sure thing, of $object is an object of course. That's plain PHP
syntax, and any PHP syntax is allowed in expressions. Cooler hacks
(with $object being e.g. a string and the chained methods working like
Smarty's modifiers) is not currently in the works, though I may add a
hack for it later.
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..

Personally i wouldn't use a name that references to Smarty because your
template engine don't have that much similarities with Smarty (beside
that your template engine using curly braces as delimiter and also
compiles the templates into php code).

Personally i would use a more abstract name because it's very difficult
to create/find a name describing a product properly.

Your main "unique selling point" over Smarty is that your template
syntax is similar to php. The name should point that out.
I think you're right here - just the fact that I compile and have
culry braces doesn't make it a Smarty clone or something. Thanks for
the suggestions - I'm going to add some error reporting features and
decide on a better name, and then I'll bug you guys again :)

-egbert

Jun 2 '08 #15

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

Similar topics

16
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...
1
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...
1
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...
1
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...
2
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...
0
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
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...
17
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...
6
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...
0
by: Charles Arthur | last post by:
How do i turn on java script on a villaon, callus and itel keypad mobile phone
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
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,...
0
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...
0
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...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...

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.