• This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn more.

Requirements For xF

F

Floris

Guest
#2
this has been posted before, php 5.2 and mysql 5.0, you can use apache1 or 2 and iis or nginx
 
#6
Ya me to, on most forums i use which is mostly vbulletin the results are usually trash unless i go on google and type site:domain.com and search. I doubt XenForo.com is indexed fully in google.
 
#8
Im surprised the requirement isn't PHP 5.3 since i see around the XenForo-0-sphere that the plugin system is Object oriented with listeners etc
 

Erik

Well-known member
#10
Luckily the search actually works. ;)

eval() is still used for templates currently. The template syntax is very rich, so it compiles down to native PHP code as you might expect and these are loaded from the DB on demand. There is code in our template class to read them from the file system, though this functionality hasn't been completed yet; at the least, it's been considered since the beginning as this would allow byte code caching (APC).

Plugins (well, "code event listeners") don't use eval. You specify a class+method and that is (auto)loaded and your code is run. The listener is given a specific set of arguments, similar to MediaWiki. This actually makes it documentable, and allows more backwards compatibility or at least documentation of potential issues.

Eval() not withstanding, I'm not sure how HipHop would handle the code. We haven't run it through the static analyzer yet, though it's on the cards. I'm not sure how it would handle including template files, and you would certainly have to recompile if you edited a template.
 

Mike

XenForo developer
Staff member
#11
Im surprised the requirement isn't PHP 5.3 since i see around the XenForo-0-sphere that the plugin system is Object oriented with listeners etc
Well, aside from the fact that very few people actually run 5.3 currently, I'm not sure how 5.3 would help this particular example? Don't get me wrong, closures would be nice and so would late static binding (not too fussed about namespaces), but it wouldn't make a difference for event handling with the implementation we have. (Well, I suppose you could use closures if attaching to events in a certain way.)