Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Optymalizacja AdoDb i Smarty
Forum PHP.pl > Forum > PHP > Pro > Archiwum Pro
serafin
Mam pytanie, nadal męczę tego cms'a swojego a jako że chcę by było to potężne narzędzi wykorzystałem adodb i smarty. Jednakże, że okazuje się, że oprogramowanie to jest zbyt ciężkie. Zaincludowanie adodb zabiera 1/3 czasu parsowania engine (odpowiednio 0,01 i 0,03 s) ze smarty jest troche lepiej 0,004 s (wiem z XDebug'a). Może przedstawię wyniki z mojego serwera domowego (cienki sprzęt, wyniki poprzednie są z serwera linuxowego):
Cytat
Execution Time Profile (sorted by execution time)
-----------------------------------------------------------------------------------
Time Taken Number of Calls Function Name Location
-----------------------------------------------------------------------------------
0.5313049555 1 *{main}() wwwvhostsxoscorecore.php:0
0.5309669971 1 *core->core() wwwvhostsxoscorecore.php:222
0.1508990526 1 *core->include_file() wwwvhostsxoscorecore.php:26
0.1342610121 1 *core->include_file() wwwvhostsxoscorecore.php:32
0.0540089607 1 *core->init_class() wwwvhostsxoscorecore.php:35
0.0521919727 1 *adonewconnection() wwwvhostsxoscorecore.php:138
0.0516390800 1 *adoloadcode() wwwvhostsxoscoreclassesadodbadodb.inc.php:3430
0.0483050346 1 *core->include_file() wwwvhostsxoscorecore.php:30
0.0432341099 5 mysql_query() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:391
0.0297470093 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0290219784 1 *core->parse_module() wwwvhostsxoscorecore.php:68
0.0289310217 1 *adodb_mysql->connect() wwwvhostsxoscorecore.php:43
0.0285220146 1 *session->write() wwwvhostsxoscoreclassessession.php:0
0.0280690193 1 *adodb_mysql->_connect() wwwvhostsxoscoreclassesadodbadodb.inc.php:363
0.0262440443 1 mysql_connect() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:262
0.0197340250 1 *adodb_mysql->execute() wwwvhostsxoscoreclassessession.php:97
0.0193979740 1 *adodb_mysql->_execute() wwwvhostsxoscoreclassesadodbadodb.inc.php:754
0.0180840492 1 *adodb_mysql->_query() wwwvhostsxoscoreclassesadodbadodb.inc.php:811
0.0173720121 1 *core->include_file() wwwvhostsxoscorecore.php:31
0.0165359974 1 *core->init_class() wwwvhostsxoscorecore.php:55
0.0148179531 1 *core->read_config() wwwvhostsxoscorecore.php:47
0.0144219398 1 *session->session() wwwvhostsxoscorecore.php:138
0.0140669346 1 session_start() wwwvhostsxoscoreclassessession.php:35
0.0124789476 1 *session->read() wwwvhostsxoscoreclassessession.php:35
0.0122569799 1 *adodb_mysql->getrow() wwwvhostsxoscoreclassessession.php:81
0.0115660429 1 *adodb_mysql->execute() wwwvhostsxoscoreclassesadodbadodb.inc.php:1308
0.0111769438 1 *adodb_mysql->_execute() wwwvhostsxoscoreclassesadodbadodb.inc.php:754
0.0100200176 1 *core->include_file() wwwvhostsxoscorecore.php:27
0.0088679790 1 *adodb_mysql->_query() wwwvhostsxoscoreclassesadodbadodb.inc.php:811
0.0080120564 1 *core->include_file() wwwvhostsxoscorecore.php:29
0.0079119205 1 *core->include_file() wwwvhostsxoscorecore.php:198
0.0077968836 1 *adodb_mysql->execute() wwwvhostsxoscorecore.php:150
0.0077580214 1 *adodb_mysql->execute() wwwvhostsxoscoreclassessession.php:112
0.0075299740 1 *core->include_file() wwwvhostsxoscorecore.php:193
0.0072890520 1 *adodb_mysql->_execute() wwwvhostsxoscoreclassesadodbadodb.inc.php:754
0.0070610046 1 *adodb_mysql->_execute() wwwvhostsxoscoreclassesadodbadodb.inc.php:754
0.0068600178 1 *adodb_mysql->getrow() wwwvhostsxoscorecore.php:183
0.0067709684 1 *adodb_mysql->_query() wwwvhostsxoscoreclassesadodbadodb.inc.php:811
0.0063450336 1 *adodb_mysql->execute() wwwvhostsxoscoreclassesadodbadodb.inc.php:1308
0.0058200359 1 *adodb_mysql->_execute() wwwvhostsxoscoreclassesadodbadodb.inc.php:754
0.0054160357 1 *adodb_mysql->_query() wwwvhostsxoscoreclassesadodbadodb.inc.php:811
0.0049091578 7 file_exists() wwwvhostsxoscorecore.php:122
0.0046550035 1 *adodb_mysql->_query() wwwvhostsxoscoreclassesadodbadodb.inc.php:811
0.0028119087 1 print_r() wwwvhostsxoscorecore.php:70
0.0026969910 1 *core->include_file() wwwvhostsxoscorecore.php:28
0.0024410486 1 *core->init_class() wwwvhostsxoscorecore.php:54
0.0020940304 1 *core->init_class() wwwvhostsxoscorecore.php:53
0.0015749931 1 *adodb_mysql->selectdb() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:270
0.0015480518 1 *adorecordset_mysql->init() wwwvhostsxoscoreclassesadodbadodb.inc.php:836
0.0015060902 1 *core->init_class() wwwvhostsxoscorecore.php:199
0.0014539957 1 *core->init_class() wwwvhostsxoscorecore.php:194
0.0014449358 1 mysql_select_db() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:368
0.0012719631 1 *adorecordset_mysql->_fetch() wwwvhostsxoscoreclassesadodbadodb.inc.php:2337
0.0012500286 1 *session->open() wwwvhostsxoscoreclassessession.php:35
0.0012410879 2 file_exists() wwwvhostsxoscorecore.php:122
0.0012340546 3 mysql_fetch_array() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:550
0.0009700060 1 file_exists() wwwvhostsxoscorecore.php:185
0.0009549856 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0006549358 1 *session->browser_detection() wwwvhostsxoscoreclassessession.php:61
0.0004420280 1 *core->startup() wwwvhostsxoscorecore.php:51
0.0004390478 31 mysql_fetch_array() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:533
0.0004180670 1 *adorecordset_mysql->init() wwwvhostsxoscoreclassesadodbadodb.inc.php:836
0.0004180670 1 *page->read_url() wwwvhostsxoscorecore.php:172
0.0004129410 1 *adorecordset_mysql->init() wwwvhostsxoscoreclassesadodbadodb.inc.php:836
0.0003770590 1 *adorecordset_mysql->adorecordset_mysql() wwwvhostsxoscoreclassesadodbadodb.inc.php:834
0.0003520250 1 *adorecordset_mysql->init() wwwvhostsxoscoreclassesadodbadodb.inc.php:836
0.0003489256 1 *adorecordset_mysql->close() wwwvhostsxoscorecore.php:157
0.0002629757 1 *smarty->smarty() wwwvhostsxoscorecore.php:138
0.0002180338 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0001749992 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0001720190 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0001710653 1 *session->init_session_configuration() wwwvhostsxoscoreclassessession.php:24
0.0001590252 1 *adodb_setup() wwwvhostsxoscoreclassesadodbadodb.inc.php:166
0.0001530647 1 *adorecordset_mysql->adorecordset_mysql() wwwvhostsxoscoreclassesadodbadodb.inc.php:834
0.0001519918 1 *adorecordset_mysql->adorecordset_mysql() wwwvhostsxoscoreclassesadodbadodb.inc.php:834
0.0001510382 1 *adorecordset_mysql->close() wwwvhostsxoscoreclassesadodbadodb.inc.php:1314
0.0001490116 1 *adorecordset_mysql->close() wwwvhostsxoscoreclassesadodbadodb.inc.php:1314
0.0001490116 1 *adorecordset_mysql->adorecordset_mysql() wwwvhostsxoscoreclassesadodbadodb.inc.php:834
0.0001450777 1 *adorecordset_mysql->_fetch() wwwvhostsxoscoreclassesadodbadodb.inc.php:2337
0.0001430511 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0001429319 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0001399517 1 *smarty->assign() wwwvhostsxoscorecore.php:64
0.0001270771 1 {include_once}() wwwvhostsxoscoreclassesadodbadodb.inc.php:2259
0.0001249313 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0001209974 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0001170635 1 *adorecordset_mysql->_fetch() wwwvhostsxoscoreclassesadodbadodb.inc.php:2337
0.0001169443 1 {include_once}() wwwvhostsxoscoreclassesadodbadodb.inc.php:3393
0.0001070499 1 *adorecordset_mysql->_close() wwwvhostsxoscoreclassesadodbadodb.inc.php:2821
0.0001039505 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0001029968 1 *page->trim_data() wwwvhostsxoscoreclassespage.php:785
0.0000979900 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000959635 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000950098 3 mysql_free_result() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:555
0.0000929832 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000849962 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000840425 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000830889 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000820160 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000820160 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000810623 1 *adorecordset_mysql->_fetch() wwwvhostsxoscoreclassesadodbadodb.inc.php:2337
0.0000799894 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000779629 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000770092 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000770092 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000768900 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000760555 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000760555 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000759363 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000749826 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000749826 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000749826 1 *adorecordset_mysql->_initrs() wwwvhostsxoscoreclassesadodbadodb.inc.php:2329
0.0000740290 1 *adorecordset_mysql->_close() wwwvhostsxoscoreclassesadodbadodb.inc.php:2821
0.0000740290 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000729561 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000720024 1 *adorecordset_mysql->_initrs() wwwvhostsxoscoreclassesadodbadodb.inc.php:2329
0.0000720024 1 *adorecordset_mysql->_close() wwwvhostsxoscoreclassesadodbadodb.inc.php:2821
0.0000720024 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000710487 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000710487 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000699759 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000699759 1 *adorecordset_mysql->_initrs() wwwvhostsxoscoreclassesadodbadodb.inc.php:2329
0.0000690222 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000690222 1 *adorecordset_mysql->_initrs() wwwvhostsxoscoreclassesadodbadodb.inc.php:2329
0.0000679493 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000660419 1 *adorecordset_mysql->movenext() wwwvhostsxoscorecore.php:155
0.0000660419 9 is_file() wwwvhostsxoscorecore.php:122
0.0000640154 1 *smarty->assign() wwwvhostsxoscoreclassessmartySmarty.class.php:603
0.0000610352 1 *session->os_detection() wwwvhostsxoscoreclassessession.php:62
0.0000585318 31 is_array() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:534
0.0000580549 1 *smarty->assign() wwwvhostsxoscorecore.php:197
0.0000530481 1 *core->core_debug() wwwvhostsxoscorecore.php:50
0.0000509024 1 *core->core_debug() wwwvhostsxoscorecore.php:137
0.0000499487 1 *core->core_debug() wwwvhostsxoscorecore.php:137
0.0000489950 1 realpath() wwwvhostsxoscorecore.php:185
0.0000439882 1 *core->core_debug() wwwvhostsxoscorecore.php:137
0.0000430346 1 *core->core_debug() wwwvhostsxoscorecore.php:137
0.0000380278 1 microtime() wwwvhostsxoscorecore.php:22
0.0000379086 1 microtime() wwwvhostsxoscoreclassesadodbadodb.inc.php:141
0.0000379086 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0000350475 1 preg_match() wwwvhostsxoscoreclassessession.php:214
0.0000330210 1 mysql_fetch_array() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:550
0.0000300407 1 *smarty->assign() wwwvhostsxoscorecore.php:65
0.0000290871 1 *core->core_debug() wwwvhostsxoscorecore.php:137
0.0000280142 1 *core->core_debug() wwwvhostsxoscorecore.php:137
0.0000278950 1 microtime() wwwvhostsxoscorecore.php:69
0.0000277758 6 is_object() wwwvhostsxoscorecore.php:135
0.0000270605 1 *core->core_debug() wwwvhostsxoscorecore.php:46
0.0000259876 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0000250340 1 *core->core_debug() wwwvhostsxoscorecore.php:42
0.0000239611 4 mysql_num_rows() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:472
0.0000239611 1 explode() wwwvhostsxoscorecore.php:187
0.0000220537 1 *page->page() wwwvhostsxoscorecore.php:138
0.0000219345 1 {include_once}() wwwvhostsxoscorecore.php:128
0.0000200272 1 *adorecordset_mysql->adorecordset() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:465
0.0000200272 1 define() wwwvhostsxoscorecore.php:14
0.0000190735 1 define() wwwvhostsxoscoreclassesadodbadodb-time.inc.php:237
0.0000180006 1 explode() wwwvhostsxoscorecore.php:22
0.0000180006 1 define() wwwvhostsxoscoreconfigsconstants.php:11
0.0000169277 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:37
0.0000160933 1 *adorecordset_mysql->adorecordset() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:465
0.0000159740 1 *core->core_debug() wwwvhostsxoscorecore.php:67
0.0000159740 1 define() wwwvhostsxoscoreclassessession.php:3
0.0000159740 1 define() wwwvhostsxoscorecore.php:100
0.0000150204 1 define() wwwvhostsxoscoreclassesadodbadodb-errorhandler.inc.php:16
0.0000149012 1 define() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:16
0.0000140667 1 ini_set() wwwvhostsxoscoreclassessession.php:46
0.0000139475 1 *adorecordset_mysql->adorecordset() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:465
0.0000139475 1 define() wwwvhostsxoscoreclassessmartySmarty.class.php:52
0.0000139475 1 htmlspecialchars() wwwvhostsxoscoreclassespage.php:236
0.0000139475 1 preg_match() wwwvhostsxoscoreclassessession.php:145
0.0000131130 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:3417
0.0000129938 1 {include_once}() wwwvhostsxoscoreclassesadodbadodb.inc.php:2265
0.0000129938 1 error_reporting() wwwvhostsxoscorecore.php:101
0.0000129938 1 *adorecordset_mysql->adorecordset() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:465
0.0000119209 1 strnatcmp() wwwvhostsxoscoreclassesadodbadodb.inc.php:91
0.0000119209 1 *core->core_debug() wwwvhostsxoscorecore.php:207
0.0000110865 1 defined() wwwvhostsxoscoreclassesadodbadodb.inc.php:36
0.0000109673 1 srand() wwwvhostsxoscoreclassesadodbadodb.inc.php:141
0.0000100136 1 define() wwwvhostsxoscoreconfigsconstants.php:17
0.0000100136 1 preg_match() wwwvhostsxoscoreclassessession.php:218
0.0000100136 1 define() wwwvhostsxoscoreconfigsconstants.php:13
0.0000090599 1 ini_set() wwwvhostsxoscoreclassessession.php:49
0.0000079870 1 define() wwwvhostsxoscoreconfigsconstants.php:30
0.0000079870 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:92
0.0000079870 1 explode() wwwvhostsxoscorecore.php:69
0.0000079870 1 defined() wwwvhostsxoscoreclassessmartySmarty.class.php:51
0.0000079870 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:43
0.0000079870 1 define() wwwvhostsxoscoreclassessession.php:4
0.0000079870 1 strtolower() wwwvhostsxoscoreclassesadodbadodb.inc.php:3386
0.0000070333 1 dirname() wwwvhostsxoscoreclassessmartySmarty.class.php:62
0.0000070333 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:45
0.0000070333 1 defined() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:15
0.0000070333 1 ini_set() wwwvhostsxoscoreclassessession.php:48
0.0000070333 1 define() wwwvhostsxoscoreconfigsconstants.php:33
0.0000070333 4 mysql_num_fields() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:473
0.0000070333 1 define() wwwvhostsxoscoreconfigsconstants.php:26
0.0000070333 1 defined() wwwvhostsxoscoreclassesadodbadodb-errorhandler.inc.php:16
0.0000069141 1 dirname() wwwvhostsxoscoreclassesadodbadodb.inc.php:70
0.0000069141 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:61
0.0000069141 1 define() wwwvhostsxoscorecore.php:17
0.0000060797 1 define() wwwvhostsxoscoreclassessession.php:8
0.0000060797 1 define() wwwvhostsxoscoreconfigsconstants.php:32
0.0000060797 1 define() wwwvhostsxoscoreconfigsconstants.php:19
0.0000060797 1 define() wwwvhostsxoscoreconfigsconstants.php:21
0.0000060797 1 define() wwwvhostsxoscoreconfigsconstants.php:20
0.0000060797 1 ini_set() wwwvhostsxoscoreclassessession.php:51
0.0000060797 1 define() wwwvhostsxoscoreconfigsconstants.php:34
0.0000060797 2 is_array() wwwvhostsxoscoreclassessmartySmarty.class.php:627
0.0000059605 1 session_set_save_handler() wwwvhostsxoscoreclassessession.php:26
0.0000059605 1 define() wwwvhostsxoscoreclassesadodbadodb-errorhandler.inc.php:18
0.0000059605 1 define() wwwvhostsxoscoreclassessmartySmarty.class.php:66
0.0000059605 1 define() wwwvhostsxoscoreconfigsconstants.php:12
0.0000059605 1 define() wwwvhostsxoscoreconfigsconstants.php:41
0.0000059605 1 define() wwwvhostsxoscoreclassessmartySmarty.class.php:62
0.0000059605 1 define() wwwvhostsxoscoreclassesadodbadodb-time.inc.php:253
0.0000059605 1 define() wwwvhostsxoscoreconfigsconstants.php:18
0.0000059605 1 define() wwwvhostsxoscoreclassessmartySmarty.class.php:65
0.0000059605 1 define() wwwvhostsxoscoreclassessession.php:7
0.0000059605 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:48
0.0000059605 1 define() wwwvhostsxoscoreconfigsconstants.php:23
0.0000059605 1 define() wwwvhostsxoscoreconfigsconstants.php:28
0.0000059605 1 define() wwwvhostsxoscoreconfigsconstants.php:35
0.0000059605 1 define() wwwvhostsxoscoreconfigsconstants.php:49
0.0000059605 1 trim() wwwvhostsxoscoreclassespage.php:236
0.0000059605 1 define() wwwvhostsxoscorecore.php:16
0.0000059605 1 define() wwwvhostsxoscoreclassessession.php:5
0.0000050068 1 define() wwwvhostsxoscoreclassessession.php:9
0.0000050068 1 defined() wwwvhostsxoscoreclassesadodbadodb-time.inc.php:253
0.0000050068 1 define() wwwvhostsxoscorecore.php:15
0.0000050068 1 define() wwwvhostsxoscoreclassessession.php:6
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:38
0.0000050068 1 *adorecordset_empty->close() wwwvhostsxoscoreclassessession.php:113
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:40
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:53
0.0000050068 1 *adodb_mysql->adodb_mysql() wwwvhostsxoscoreclassesadodbadodb.inc.php:3452
0.0000050068 1 ini_set() wwwvhostsxoscoreclassessession.php:50
0.0000050068 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:72
0.0000050068 1 ini_get() wwwvhostsxoscorecore.php:84
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:29
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:52
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:14
0.0000050068 1 define() wwwvhostsxoscoreclassessmartySmarty.class.php:68
0.0000050068 1 define() wwwvhostsxoscoreclassessmartySmarty.class.php:67
0.0000050068 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:47
0.0000050068 1 defined() wwwvhostsxoscoreclassesadodbadodb.inc.php:3417
0.0000050068 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:64
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:27
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:43
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:31
0.0000050068 1 time() wwwvhostsxoscoreclassessession.php:95
0.0000050068 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:46
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:25
0.0000050068 1 define() wwwvhostsxoscoreconfigsconstants.php:22
0.0000048876 1 define() wwwvhostsxoscoreclassesadodbadodb.inc.php:70
0.0000048876 1 ini_set() wwwvhostsxoscoreclassessession.php:47
0.0000048876 1 time() wwwvhostsxoscoreclassessession.php:77
0.0000040531 1 defined() wwwvhostsxoscoreclassessmartySmarty.class.php:61
0.0000040531 1 is_array() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:551
0.0000040531 1 time() wwwvhostsxoscoreclassessession.php:112
0.0000040531 1 define() wwwvhostsxoscoreconfigsconstants.php:46
0.0000040531 1 define() wwwvhostsxoscoreconfigsconstants.php:37
0.0000039339 1 method_exists() wwwvhostsxoscorecore.php:201
0.0000039339 1 set_magic_quotes_runtime() wwwvhostsxoscorecore.php:82
0.0000039339 1 define() wwwvhostsxoscoreconfigsconstants.php:48
0.0000039339 1 define() wwwvhostsxoscoreconfigsconstants.php:47
0.0000039339 1 is_array() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:551
0.0000039339 1 define() wwwvhostsxoscoreconfigsconstants.php:54
0.0000030994 1 is_array() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:551
0.0000030994 1 is_array() wwwvhostsxoscorecore.php:189
0.0000029802 1 defined() wwwvhostsxoscoreclassesadodbadodb.inc.php:3418
0.0000029802 1 defined() wwwvhostsxoscoreclassesadodbadodb.inc.php:64
0.0000029802 1 defined() wwwvhostsxoscoreclassesadodbadodb.inc.php:72
0.0000029802 1 defined() wwwvhostsxoscoreclassesadodbadodb.inc.php:100
0.0000029802 1 strval() wwwvhostsxoscorecore.php:180
0.0000020266 1 is_array() wwwvhostsxoscoreclassesadodbadodb.inc.php:837
0.0000020266 1 is_array() wwwvhostsxoscoreclassessmartySmarty.class.php:627
0.0000020266 1 is_array() wwwvhostsxoscoreclassessmartySmarty.class.php:600
0.0000020266 1 defined() wwwvhostsxoscoreclassesadodbadodb.inc.php:70
0.0000020266 1 *adorecordset_empty->close() wwwvhostsxoscoreclassessession.php:115
0.0000020266 1 is_array() wwwvhostsxoscoreclassesadodbadodb.inc.php:837
0.0000019073 1 get_magic_quotes_gpc() wwwvhostsxoscorecore.php:104
0.0000019073 1 is_array() wwwvhostsxoscoreclassesadodbdriversadodb-mysql.inc.php:551
0.0000010729 1 is_array() wwwvhostsxoscoreclassesadodbadodb.inc.php:837
0.0000010729 1 is_array() wwwvhostsxoscoreclassesadodbadodb.inc.php:837
0.0000009537 1 is_array() wwwvhostsxoscoreclassessmartySmarty.class.php:627
-----------------------------------------------------------------------------------
Opcode Compiling: 82.4754024744
Function Execution: 0.5584751368
Ambient Code Execution: -0.5584371090
Total Execution: 0.0000380278
-----------------------------------------------------------------------------------
Total Processing: 82.4754405022
-------------------------------------------------------------------------------
pogrubilem metody ktore includuja adodb (1.) i smarty (2.). Czy wiecie moze jak zoptymalizowac ladowanie takich obszernych klas questionmark.gif Jak mozna okroic adodb i smarty questionmark.gif Albo co uzyc w zamian questionmark.gif Z gory dzieki za wasze opinie i sugestie....

Pozdrawiam seraf
cagrET
Zoptymalizowac Smarty i Adodb raczej sie nie da, mozesz je zamienic na cos innego. Pozatym nie przejmowalbym sie czasem includowania tych plikow, a raczej szybkoscia tych bibliotek.

Adodb zawsze wydawalo mi sie szybkie, bo robilem kiedys testy.
Moze w najnowszej wersji pododawali jakies bajery i wiecej kodu jest includowanego ... Jezeli bardzo ci zalezy na szybkosci polecam biblioteke mgcLib :: Db mojego autorstwa - zajmuje 22 KB + 8 KB drivery mysql. Wiecej poczytaj tutaj: http://scg.milc.com.pl/cagret/mgcLib/Db/

Co do Smarty ... Ten kto nie wierzy ze Smarty jest wolne niech zlooka skompilowane pliki - zajmuja one kilkakrotnie wiecej miejsca niz pliki zrodlowe, sa zatem wolniej parsowane.

Zamiast Smarty tez polece ci moj skrypt smile.gif mgcLib :: Template (zajmuje 16 KB) ktory jest szybszy od Smarty od 25% - 100%, a to dlatego ze w szablonach zamiast tworzyc odrebny jezyk (tak jak jest to zrobione w Smarty) uzywam php. System posiada oczywiscie wiekszosc zalet ktore oferuje smarty:
:arrow: przestrzen nazw dla zmiennych w szablonie
:arrow: pluginy
:arrow: debugowanie
No i wiele innych
Najwieksza zalety to oczywiscie szybkosc i to ze nie trzeba sie uczyc kolejnego jezyka jakim jest Smarty.
Maly przyklad jak to wyglada:

plik viewArticle.php
[php:1:286134c1ae]
$Tpl =& new Template;
$Tpl->set('title', $title);
$Tpl->set('date', $date);
$Tpl->set('body', $body)
$Tpl->display('viewArticle.tpl');
[/php:1:286134c1ae]

plik viewArticle.tpl
[php:1:286134c1ae]
<html>
<body>

Title: <?=$title;?> <br>
Date: <?=$date;?> <br>
Body: <?=$body;?> <br>

</body>
</html>
[/php:1:286134c1ae]

do mgcLib :: Template nie ma zadnej dokumentacji, jakby ktos chcialby tego uzywac, to niech mailnie do mnie to napisze tutoriala jakiegos, cos w stylu mgcLib :: Db

W moim osatnim projekcie z bibliotek korzystalem tylko z mgcLib, nie napotkalem sie na zadne ograniczenia. Wielkosc aplikacji to niecaly 1 MB kodu zrodlowego czyli okolo 50 tysiecy linijek.

Najnowsza wersje mgcLib czyli 1.17 mozna sciagnac stad: http://prdownloads.sourceforge.net/mygosuc...17.zip?download
Aktualne pakiety w wersji 1.17:

:arrow: Conf
:arrow: Config
:arrow: Date
:arrow: Db
:arrow: Debug
:arrow: File
:arrow: Html
:arrow: HttpRequest
:arrow: HttpResponse
:arrow: HttpSession
:arrow: HttpUpload
:arrow: Image
:arrow: Mail
:arrow: Random
:arrow: Template
:arrow: Unique
:arrow: Validator

Nie znajdzie sie tutaj zadnych GOD classes, po prostu male niezabajerowane klasy z najpotrzebniejszymi funkcjami.
MaKARON
Czy gdybys nie bawil sie w zadne templates'y tylko zrobil include('viewArticle.tpl') to efekt bylby taki sam (tak mi sie wydaje, nie mam czasu sie bawic)... wiec po cholere to robic? Smarty ma osobny jezyk, ale Smarty oferuje duzo dodatkowych mozliwosci... a umieszczenie wyswietlania w php w osobnych plikach trudno nazwac systemem szablonow...
cagrET
Cytat
Czy gdybys nie bawil sie w zadne templates'y tylko zrobil include('viewArticle.tpl') ...

Gdybys robil wiekszy projekt w ten sposob, twoj kod mialby wiecej dziur niz ser szwajcarski :|
Cytat
... trudno nazwac systemem szablonow...

Podaj cechy systemu szablonow, a zapewniam cie ze mgcLib :: Template wszystkie te cechy posiada

Czytaj dokladniej posty. Zalety sa takie same jak w Smarty

:arrow: przestrzen nazw dla zmiennych w szablonie
:arrow: pluginy
:arrow: debugowanie
etc

Sprobuj popatrzec na to z inne perspektywy. Wszystko odbywa sie podobnie jak w Smarty, masz klase Template, czesc prezentacyjna twojej aplikacje jest oddzielona od czesci biznesowej, tyle ze w szablobnie zamiast:

Kod
{section name=customer loop=$custid}

    id: {$custid[customer]} <br>

{/section}

masz
[php:1:53b1b835ca]
<? foreach ($custid as $customer) : ?>
id: <?=$customer;?> <br>
<? endforeach; ?>
[/php:1:53b1b835ca]
zamiast
Kod
{$articleBody}

masz
[php:1:53b1b835ca]
<?=$articleBody;?>
[/php:1:53b1b835ca]

Widze ostatnio, ze jest duza moda na Smarty, ludzie pisza na swoich stronkach ze w ich aplikacjach kod php jest odzielony od kodu HTML.
Bzdura. Tylko w "teorii" tak jest. Smarty jest kolejna warstwa abstrakcji, stworzyli swoj wlasny jezyk zeby dac wam zludzenie ze wasz kod php jest odzielony od html, spojrzcie na powyzsze przyklady, tak naprawde cala logika php nadal tam jest, tylko jest to zapisane w "INNY" sposob. Czy naprawde tego nie widac ? Po co wiec sie uczyc kolejnego jezyka (Smarty) skoro mozna uzyc php w szablonach ?

Przedstawiam tylko swoj punkt widzenia. Chce pokazac, ze aby twoja aplikacja (na przyklad) miala strukture MVC (Model View Controller), w czesci prezentacyjnej czyli View wcale nie musisz uzywac Smarty - php nadaje sie rowniez znakomicie.
rzseattle
Cytat
Po co wiec sie uczyc kolejnego jezyka (Smarty) skoro mozna uzyc php w szablonach ?  


Tylko jakos mi sie nie chce wiezyc ze przy wszystkim uzywasz "czystego" phapa. W koncu pojawiaja sie funkcje poniewaz zapewniaja latwosc obslugi i latwosc aktualizacji. Hmm czyzby trzeba bylo pamietac nazwy tych funkcji aby sprawnie mozna sie bylo poslugiwac szablonami, czy nie mozna nazwac tego "uczeniem sie nowego jezyka"? Oczywiscie jesli to sa twoje funkcje to je pamietasz, gorzej jesli system szablonow napisal ktos inny. Smarty zapewnia naprwde potezne wsparcie w wyswietlaniu szablonow a przy tym "uczenie sie nowego jezyka" staje sie proste dzieki przejzystej dokumentacji. Nawet nie mowie o tym ze ten system praktycznie mozna opanowac w ciagu godziny (pozniej tylko douczajac sie jesli cos ci jest potrzebne)

hmm chyba zaczal sie oftopic
cagrET
Cytat
Tylko jakos mi sie nie chce wiezyc ze przy wszystkim uzywasz "czystego" phapa. W koncu pojawiaja sie funkcje poniewaz zapewniaja latwosc obslugi i latwosc aktualizacji.

Co przez to rozumiesz ? Chodzi ci moze o pluginy ? Dzialaja w podobny sposob jak w Smarty:

someFile.tpl
[php:1:388055abe8]
<?=$Plugin->exec('htmlOptions', $choices, $selected);
<?=$Plugin->exec('htmlSelectDate', $unixTime, $options);
[/php:1:388055abe8]
etc

Cytat
Hmm czyzby trzeba bylo pamietac nazwy tych funkcji aby sprawnie mozna sie bylo poslugiwac szablonami, czy nie mozna nazwac tego "uczeniem sie nowego jezyka"?  

Czy moze ci chodzi o obiekt Template ? Metody w tym obiekcie dzialaja na takiej samej zasadzie jak w smarty, wiec nie ma sie czego uczyc. Przypisujesz zmienne do szablonu, wyswietlasz szablon etc

Cytat
"uczeniem sie nowego jezyka"?

Mowiac o uczeniu sie nowego jezyka, mam na mysli kod smarty ktory sie znajduje w szablonach ( pliki .tpl), nie zas poslugiwanie sie obiektem w czesci biznesowej aplikacji.

Cytat
Nawet nie mowie o tym ze ten system praktycznie mozna opanowac w ciagu godziny (pozniej tylko douczajac sie jesli cos ci jest potrzebne)

a php mozna opanowac w ciagu 20 min.
rzseattle
heh widze ze sie niezrozumielismy (chodzilo mi wylacznie o zawartosc plikow *.tpl gdzie uzywasz pomocnych sobie funkcji aby moc latwo formatowac wyswietlane dane, pluginy i metody obiektu Template to juz osobna sprawa)

no ale nic dalej oftopic
halfik
cagrET: ale ten Twoj "system szablonow" nie spelnia jednej z podstawowych idei, dla ktorej stworzono SMARTY: nie jest rownie prosty jak HYML; przeciez w SMARTY o to chodzi, aby przecietny designer mogl przygotowac szablon nie znajac nawet php'a, a w przypadku Twojego systemu to jest nierealne. ale mniejsza o to...

co sie tyczy SMARTY - mozna je jeszcze ciut przyspieszyc - uzywajac starszej wersji, bo w nowej jest duzo niepotrzebnych rzeczy, z ktorych i tak sie albo wcale nei korzysta, albo bardzo bardzo zadko...
MaKARON
Cytat
Po co wiec sie uczyc kolejnego jezyka (Smarty) skoro mozna uzyc php w szablonach ?
Po to sie oddziela php od Wygladu, zeby nie grzebac - a za wyglad zazwyczaj odpowiadaja designerzy a nie programisci i im jest latwiej zaczic {costam} niz foreach ($_SESSION['asdf'])! I wcale nie musza uczyc sie php


Cytat
a php mozna opanowac w ciagu 20 min.
Jak wiesz największą wadą php jest to, ze mozna sie go latwo nauczyc a pozniej pisac glupoty - w sensie prostych, pelnych bugow programow... nie chcialbym zeby jakikolwiek designer wstawial dziury w szablony kodu ktory ja napisalem dosc sensownie... albo wstawil sobie while(1) smile.gif
cagrET
Ja nie jestem zadnym przeciwnikiem Smarty. Uzywalem tego systemu w wielu projektach, nadal uzywam. Mam dosc duze doswiadczenie w pracy z nim. Znam jego zalety i wady.

Temat dotyczy optymalizacji adodb i smarty.
Zalety tego systemu szablonow nad smarty:

:arrow: jest szybsze od 25%-100%, robilem testy, pliki skompilowane przez smarty zajmuja duzo miejsca i sa wolno parsowane
:arrow: wiele edytorow nie koloruje skladni smartiego, czyli klamerek { }, php zas jest obslugiwane przez wiekszosc edytorow, zatem designerowi ktory bedzie zmienial templajty latwiej bedzie sie polapac w kodzie
:arrow: jezeli ktos zna podstawy php, zaoszczedzi wiele godzin, bo nie bedzie sie musial uczyc skladni smarty

Zalety Smarty:
:arrow: jest bardzo popularne, zatem wiele osob zna ten system, jest w wielu firmach uzywany gdzie pracja grupy podzielone na programistow i designerow - sprawdza sie tam
:arrow: mozna ograniczyc dostep do pewnych krytycznych funkcji designerom, wiec zwieksza to bezpieczenstwo aplikacji gdy pracuje nad nia wiele osob

To nie jest tak, ze twierdze ze Smarty sux i wogole. Ten system ma duzo zalet i nadaje sie idealnie do pewnych sytuacji. Ale jezeli robie projekt nad ktorym pracuje tylko ja i kod szablonow zmieniam takze tylko ja, to NIE WIDZE SENSU w utrudnianiu sobie pracy i stosowaniu Smarty !!
Powiedzcie tak naprawde, ile projektow nad ktorymi pracujecie sa robione w grupie, czyli ze wy piszecie aplikacje, ktos inny sie zajmuje designem etc. W moim przypadku w wiekszosci projektow za pisanie aplikacji i grzebanie w kodzie html jestem odpowiedzialny tylko JA - nie widze wtedy sensu, aby utrudniac sobie zycie :|

Cytat
cagrET: ale ten Twoj "system szablonow" nie spelnia jednej z podstawowych idei, dla ktorej stworzono SMARTY: nie jest rownie prosty jak HYML;  

smarty jest proste jak html ? smile.gif hyhy smile.gif Smarty jest trudniejsze od php ...
Cytat
przeciez w SMARTY o to chodzi, aby przecietny designer mogl przygotowac szablon nie znajac nawet php'a, a w przypadku Twojego systemu to jest nierealne. ale mniejsza o to...

Nie znajac php, ale musi znac smarty !. Moim zdaniem nauczenie designera podstaw php byloby prostsze od uczenia smarty. Jednym latwiej jest sie nauczyc tego, innym tego. Czesc racji na pewno masz.
Cudi
Smarty nie są trudne do opanowania, jednak czasami bywają toporne. Widziałem szablony z mniejszymi możliwościami, za to dużo bardziej przyjazne dla designerów. Bo niestety w smarty, tak jak powiedział cagrET, trzeba myśleć tak jak w php, tylko wygląda to troche inaczej.
Np. dużo prostszym rozwiązaniem sekcji byłoby gdyby można było assignować zmienne sekcji w kodzie php, i tyle ile będzie assignow tyle razy sekcja sie wyświetli, za każdym razem z nową porcją danych. A Smarty niczego nie ułatwia, zeby to osiągnąć musiałem wewnątrz php w pętli stworzyć tablice, następnie ją assignować do smarty i robić sekcje... To mi bardziej utrudniło prace niż ułatwiło. Więc smarty nie są wiele lepsze od biblioteki cagrEta, tylko na pozór wyglądają przejaźniej. Ciekaw jestem czy designerom nie znającym zupłnie php nauka smartych też zajmie godzine? Mało prawdopodobne...

Ps. Proponuje wydzielić tematy związane z template'ami do innego tematu, bo sie rzeczywiście OT zrobił.
spenalzo
Co chcesz nam udowodnić? Że Twoje skrypty są lepsze?? Ja wole używać AdoDB i Smarty mimo że nie wykorzystuje więcej jak 10% możliwości - ale wiem, że to są skrypty sprawdzone i moge je w komercyjnych projektach bez obaw wykorzystywać.. bo jak sie pojawi jakaś dziura to zaraz sie znajdą osoby które to wychwycą i naprawą.
cagrET
Cytat
Co chcesz nam udowodnić? Że Twoje skrypty są lepsze??  

Ja probuje przekazac idee. php samo jest jezykiem szablonowym napisanym w C. Nie ma potrzeby stosowac kolejnej warstwy abstrakcji jaka jest Smarty. php zostalo do tego stworzone i spisuje sie w tym znakomicie !
Cytat
Ja wole używać AdoDB i Smarty mimo że nie wykorzystuje więcej jak 10% możliwości - ale wiem, że to są skrypty sprawdzone i moge je w komercyjnych projektach bez obaw wykorzystywać.. bo jak sie pojawi jakaś dziura to zaraz sie znajdą osoby które to wychwycą i naprawą.

Co ty swoim postem probujesz udowodnic ? Ze w systemie ktory zajmuje 50 KB kodu jest wieksza szansa na znalezienie bledu niz w systemie ktory ma 1 MB kodu ?
Wykorzystujesz 10% mozliwosci, stosujesz w ten sposob 90% narzut podczas wczytywania aplikacji, szansa na znalezienie bledu w takiej aplikacji jest 10 x krotnie wyzsza.
Gdzie tu jest logika ? :|
FiDO
short_tags = Off i szlag trafia Twoj piekny plan winksmiley.jpg
wtedy trzeba juz cale <?php echo $costam; ?> a to juz nie jest takie piekne..

Cytat
Co ty swoim postem probujesz udowodnic ? Ze w systemie ktory zajmuje 50 KB kodu jest wieksza szansa na znalezienie bledu niz w systemie ktory ma 1 MB kodu ?

Ile osob uzywa Twojego systemu, a ile np. Smarty? Mysle, ze moge smialo strzelic, ze _znacznie_ wiecej osob korzysta ze Smarty winksmiley.jpg a co za tym idzie, wieksze szanse na znalezienie bledu.
Pozatym jakie 1MB?? Cale Smarty ma w wersji orginalnej niecale 300KB (2.6.0), po wykrojeniu niepotrzebnych pluginow zszedlem ponizej 200KB.
cagrET
Cytat
short_tags = Off i szlag trafia Twoj piekny plan  
wtedy trzeba juz cale <?php echo $costam; ?> a to juz nie jest takie piekne..  

99% serverow na ktorych jest udostepniany hosting ma wlaczone short_open_tags On.
Dobre servery oparte np na cpanel pozwalaja zmieniac ustawienia z php.ini
No a jezeli juz ktos jest w tym 1%, to mam skrypt ktory zajmuje 20 linijek i rekurencyjnie przelatuje wszystkie katalogi / podkatalogi i zmienia w plikach .tpl "<?" na "<?php" i "<?=" na "<?php echo ".
Wiec short open tags nie stanowia zadnego problemu.
Nawet sam Rasmus Lerdorf ciagle uzywa short open tags - zlookaj jakiekolwiek jego slajdy z konferencji smile.gif

Cytat
Pozatym jakie 1MB?? Cale Smarty ma w wersji orginalnej niecale 300KB (2.6.0), po wykrojeniu niepotrzebnych pluginow zszedlem ponizej 200KB.

ADODB + Smarty = X MB
FiDO
Cytat
ADODB + Smarty = X MB

W AdoDB tez polowa ze standarowego archiwum to dokumentacja, benchmarki i innego typu niepotrzebne do dzialania rzeczy. Po wydzieleniu czesci dzialajacej z jedna baza zostaje tez niecale 200KB. Niecale 400KB to juz nie X MB...
hawk
Czas short_open_tag już się kończy. Nawet w manualu do php 4.x jest napisane, że short tags uniemożliwiają użycie php z XML lub XHTML. A że XHTML to przyszłość więc short tags to przeszość.
Short tags można na szczęście wyłączyć za pomoca ini_set, ale jak twój szablon ma generowaoe XHTML, to trzeba albo nie używać <?=, albo po każdej zmianie zamieniać sad.gif.

BTW, ludzie od php mogliby rozdzielić <? od <?=, bo to drugie nie gryzie się z XML.


-------------------
poprawione kodowanie by DeyV
halfik
[/quote]
Nie znajac php, ale musi znac smarty !. Moim zdaniem nauczenie designera podstaw php byloby prostsze od uczenia smarty. Jednym latwiej jest sie nauczyc tego, innym tego. Czesc racji na pewno masz.[/quote]

wybacz, ale sie z Toba nie zgodze. podstaw SMARTY mozna sie nauczyc w ciagu 2h. a pozostala wiedze zdobywa sie juz wraz z praktyka. a jesli chodzi o php, to jakos nie wierze, aby mozna bylo przecientnego designera nauczyc jego podstaw w 2 h.
cagrET
Cytat
Cytat
ADODB + Smarty = X MB

W AdoDB tez polowa ze standarowego archiwum to dokumentacja, benchmarki i innego typu niepotrzebne do dzialania rzeczy. Po wydzieleniu czesci dzialajacej z jedna baza zostaje tez niecale 200KB. Niecale 400KB to juz nie X MB...


a skad wziales zalozenie ze X przyjmuje tylko wartosci calkowite ?

Cytat
Czas short_open_tag już się kończy. Nawet w manualu do php 4.x jest napisane, że short tags uniemożliwiają użycie php z XML lub XHTML. A że XHTML to przyszłość więc short tags to przeszość.

Aktualnie jezeli u siebie na serverze masz wylaczone short tags i w szablonie masz "<?xml ?>" to twoj kod nie ruszy na 99% serverach, gdyz tam short tags sa wlaczone i parser php zglosi blad parsujac ten plik.
I oczywiscie jest nieprawda ze short tags uniemozliwjaja uzycie php z xml.
[php:1:6decfd0117]
<?='<'.'?xml';?> ... <?='?'.'>';?>
[/php:1:6decfd0117]

Cytat
Short tags można na szczęście wyłączyć za pomoca ini_set, ale jak twój szablon ma generowaoe XHTML, to trzeba albo nie używać <?=, albo po każdej zmianie zamieniać :(.

Kolejny falsz. Za pomoca ini_set() nie wylaczysz short tags. ini_set() , changeable = PHP_INI_SYSTEM|PHP_INI_PERDIR
Pozatym pisalem juz ze mozna napisac kompilator dzialajacy jak w smarty, ze bedzie zamienial "<?" => "<?php" , "<?=" => "<?php echo " za pomoca str_replace()
hawk
Cytat
Aktualnie jezeli u siebie na serverze masz wylaczone short tags i w szablonie masz "<?xml ?>" to twoj kod nie ruszy na 99% serverach, gdyz tam short tags sa wlaczone i parser php zglosi blad parsujac ten plik.
I oczywiscie jest nieprawda ze short tags uniemozliwjaja uzycie php z xml.
[php:1:7a58e0dd6a]
<?='<'.'?xml';?> ... <?='?'.'>';?>
[/php:1:7a58e0dd6a]

Fakt, nie pomyślałem o tym. Można. Chociaż trochę kłóci to się z ideą szablonów, bo designer musiałby robić taki escape na głupi processing instruction.
Lepiej już, jak napisałeś, zamienić przy kompilacji szablonu.

Cytat
Cytat

Short tags można na szczęście wyłączyć za pomoca ini_set, ale jak twój szablon ma generowaoe XHTML, to trzeba albo nie używać <?=, albo po każdej zmianie zamieniać sad.gif.

Kolejny falsz. Za pomoca ini_set() nie wylaczysz short tags. Czytaj manual ze zrozumieniem. ini_set() , changeable = PHP_INI_SYSTEM|PHP_INI_PERDIR

Ja u siebie mogę biggrin.gif. Ale nie jestem reprezentatywny bo przyznaję się bez bicia że postawiłem sobie php na Windowsie :oops:. I stąd to sie bierze.
FiDO
Cytat
Cytat
Cytat
ADODB + Smarty = X MB

W AdoDB tez polowa ze standarowego archiwum to dokumentacja, benchmarki i innego typu niepotrzebne do dzialania rzeczy. Po wydzieleniu czesci dzialajacej z jedna baza zostaje tez niecale 200KB. Niecale 400KB to juz nie X MB...


a skad wziales zalozenie ze X przyjmuje tylko wartosci calkowite ?

A gdzies napisalem, ze takie zalozenie przyjalem? Ty zaczales uzywac tego okreslenia i mysle, ze miales przez to na mysli conajmniej 1MB.
a1internet
Twój system szablonów jest całkiem niezły, przypomina mi zresztą Savanta http://phpsavant.com/.

Myślę jednak, że najlepszy jest kompromis. Czyli z jednej strony - prostsza składnia, a z drugiej - maksymalna optymalizacja. Myślę, że udało się to osiągnąć w naszej klasie Template_A1, która pełni funkcję kompilatora szablonów do czystego kodu php. Do ich wykorzystania nie trzeba nawet ładować samej klasy. Można też (ale nie trzeba) skorzystać z obiektowego wrappera, który ogranicza przestrzeń nazw i ułatwia korzystanie z systemu w aplikacjach obiektowych.

Cytat
Sprobuj popatrzec na to z inne perspektywy. Wszystko odbywa sie podobnie jak w Smarty, masz klase Template, czesc prezentacyjna twojej aplikacje jest oddzielona od czesci biznesowej, tyle ze w szablobnie zamiast:

Kod
{section name=customer loop=$custid}

    id: {$custid[customer]} <br>

{/section}

masz
[php:1:673f3330fe]
<? foreach ($custid as $customer) : ?>
   id: <?=$customer;?> <br>
<? endforeach; ?>
[/php:1:673f3330fe]


W Template_A1 wygląda to tak:
[xml:1:673f3330fe]
{foreach $custid as $customer}
id: {$customer}<br />
{/foreach}
[/xml:1:673f3330fe]

Cytat
Po co wiec sie uczyc kolejnego jezyka (Smarty) skoro mozna uzyc php w szablonach?

Na przykład po to, żeby zaoszczędzić stukania w klawiaturę tongue.gif
MaKARON
Cytat
Przedstawiam tylko swoj punkt widzenia. Chce pokazac, ze aby twoja aplikacja (na przyklad) miala strukture MVC (Model View Controller), w czesci prezentacyjnej czyli View wcale nie musisz uzywac Smarty - php nadaje sie rowniez znakomicie.
Oczywiscie.. ale duzo latwiej jest designerom /czy nawet odbiorcom/ zmieniac tpl'e niz php. Wystarczy ze znaja html i powiedziec im, ze maja nie ruszac nic, co jest pomiedzy { a } /ja uzywam {!-- i --!} dla latwiejszego odroznienia i bezproblemowego uzywania { i }.

Cytat
Ciekaw jestem czy designerom nie znającym zupłnie php nauka smartych też zajmie godzine? Mało prawdopodobne...
Myślę, że krócej... 'nie dotykać sekcji {...}!' jedyne założenie dobrze zrobionych szablonów. Jak już leepiej się zapoznają... to sami będą o nie prosić smile.gif

Cytat
99% serverow na ktorych jest udostepniany hosting ma wlaczone short_open_tags On.  

A jeżeli używamy dodatkowo XML'a?
cagrET
Cytat
Cytat

Po co wiec sie uczyc kolejnego jezyka (Smarty) skoro mozna uzyc php w szablonach?

Na przykład po to, żeby zaoszczędzić stukania w klawiaturę tongue.gif


Masz wlasna aplikacje. Musisz ja zintegrowac z innym systemem. Latwiej bedzie to zrobic jesli ten system bedzie oparty na Smarty czy na szablonach php ? W ktorym przypadku zaoszczedzisz sobie stukania w klawiature ? biggrin.gif
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.