• Welcome to Simple Machines Community Forum. Please login or sign up.
October 26, 2021, 03:07:57 AM

News:

Wondering if this will always be free?  See why free is better.


简体中文版SMF已经建立了。

Started by fmben, November 22, 2004, 07:43:06 AM

Previous topic - Next topic

cai

嘿嘿 找到一个回帖子的还真难
我对面向对象的认识比较较固执 我一直觉得面向对象是用加大硬件成本换来代码的低维护难度 当然 模板技术也是,而且模版相对来说失去了许多灵活性 尽管有支持简单if else语句的模板引擎 还是有他处理不了的很多情况
另外 我觉得 想用php面向对象 还不如再迈大一步 直接改java得了
虽然网上现在有面向对象+模板的论坛 速度惊人(比如Discuz,页面执行时间保持小数点后1个以上的0) 功能也强大
但是smf改动为采用同样的处理方法(把无需实时更新的东西存储在符合php语法格式的文本里,不需处理,直接require进来) 效率应该不会比他低. 况且smf是免费的Discuz是商业的.

Sheepy

August 29, 2005, 11:10:50 AM #21 Last Edit: August 29, 2005, 11:19:45 AM by Sheepy
支持物件對象和模版是自便於維護的角度出發.  物件導向無疑是降低了效率, 可是效率最大的殺手是不當的設計. 物件導向正是幫助設計的一個理念.
硬件的代價是分散在用戶的, 維護的代價是集中在開發者的.  我給自己的 SMF 裝了五十個外掛, 再花了大把時間優化整合, 又做了數個外掛, 當然支持任何給我省時間的設計. ;)

我沒有告訴你我的 Java 比 PHP 好? 嗯, 好像沒有. ^
_^
只是 OOP 要在 PHP 普及, 首先大家需要習慣 OOP. 要大家習慣 OOP, 首先要普及 PHP 5. 要 PHP 5 普及, 我覺得大概還得等一年...

很有興趣知道有了 if else 和 迴圈, 有甚麼情況是模版不支援的. 前兩者都不好的話, 用上 block/section  我還沒有遇上解決不了的事...

呀, 有沒有版主來分拆文章?

cai

非常高兴认识了你 以后得多去你的地盘学习学习啊 呵呵
其实我不反对面向对象 我比较不赞同php面向对象而已 php5向java靠拢我很失望
既然一个语言在向另一个语言学习 为什么不直接转到另一个语言上去呢
我也一有时间就向java努力

php应该定位在小巧 精简的系统上 说句容易招来全地球骂的话 论坛应该是php发挥的极限了 要php就不要oop 要oop就不要php
难道真的会有人用php开发大到数以百m的系统?一个计数器 留言本也要用oop?
本来就几百k的代码 再不易维护还能不易维护到哪去?
有多少人自己弄个主机 跑一个大门户网站 用php架构?
大多数情况是一台虚拟主机 跑好数以百个企业或个人的网站 因此 代码的效率还是很重要的
模板还是有他做不了的事的吧?比如这个论坛类似树型的导航菜单 或一个更复杂的树型目录 当然可以用模板
直接发一整个包括样式在内字符串变量过来给预留好的标记
可是那样 当你要改树型的样式的时候 还不是得去改php原始代码才能做到
而smf是用遍历一个数组来生成的菜单 改动样式根本无须改动核心代码(老实说 有没有模板能处理数组我还真不知道)
直接以php代码做为模板 改动多灵活啊

Sheepy

嘻, 難得終於做好外掛編輯器, 有空來回帖. ^^

跟 Java 不同, PHP 並不強行要求 OOP, 所以你不用擔心 PHP 會變成簡易 Java.  跟 PHP 比, Java 是一個很嚴格的語言. PHP 的對象跟 Java 不同, PHP 永遠都會保持隨學隨用的特性, 這是 Java 不會想做到的.

我初學程序時 OOP 還是新理念, 時至今日已經證明了是一套有效的方法.  不過, 如你所說, 盲目的採用物件導向也不是好事.
只是, SMF 也已經不是數百 K 的規模了. 只算 php, SMF 1.1 的源碼在 3MB 以上.  我的 SMF 現在有 160 KLOC.  我可以應付, 但並不是因為我專修軟件工程, 而是因為我有經驗. 我的同學肯定只會昏倒.

模版的概念, 並不是單單為了容易修改, 也為了容易理解和管理.

SMF 的預設導航只是樣子像樹的陣列, 模版可以處理, 不過如果是真正的樹, 沒有錯的確需要一個 recursive 的方法去生成, 不能單靠模版.
可是 HTML 是實際輸出的介面結構語言, 而那個生成的程序是介面生成邏輯.
兩者需要互相配合, 但卻是本質不同的東西, 分離了也許會提高門檻和複雜度, 可是卻降低了偶性.
這跟 OOP 是一樣的, 把東西儘量分離, 降低偶性, 以使其容易理解, 修改, 和重用.

如果數組指的是 Array, Tiny Buty Strong 可以直接處理. 多層也不是問題. 事實上還 可以直接處理簡單的資料查詢.
http://www.tinybutstrong.com/examples.php

mjohnson

好,支持一下,等我有了好的空间,就安这个论坛!!!

yesman123

when will you get a simplified chinese version for rc 1.1?

yesman123

cai, i noticed that the child board topic counting works on your forum. could you show me how to made it work?
thanks.

cai

Quote from: yesman123 on November 06, 2005, 10:25:01 PM
cai, i noticed that the child board topic counting works on your forum. could you show me how to made it work?
thanks.
i'm sorry  long time not get here
i changed nothing but it's work well :(


Sheepy

Quote from: yesman123 on November 06, 2005, 10:25:01 PM
cai, i noticed that the child board topic counting works on your forum. could you show me how to made it work?
thanks.
IIRC, you've to enable each parent board's count child board post option.  Perhaps to save queries?

yesman123

it did not work on 1.0.5 (did not have child board count enabling option)...but it works great on 1.1 rc1 (see intvq.com).

CapriSkye


Advertisement: