-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtopic-250.html
198 lines (180 loc) · 17 KB
/
topic-250.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja" dir="ltr">
<head>
<title>日本PHPユーザ会 掲示板: PHP 5 » 軽量テンプレートエンジン</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta name="description" content="日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。" />
<meta name="keywords" content="php,web,php.gr.jp,community,usebb" />
<link rel="stylesheet" type="text/css" href="./templates/phpgrjp0.3/styles.css" />
<link rel="shortcut icon" href="./templates/phpgrjp0.3/gfx/usebb.ico" />
<link rel="alternate" type="application/rss+xml" title="日本PHPユーザ会 掲示板 RSS フィード" href="rss.xml" />
<script type="text/javascript" src="sources/javascript.js"></script>
</head>
<body onload="javascript:init_external()">
<div id="pagebox-bg">
<div id="shadow-left">
<div id="shadow-right">
<p id="logo"><a href="index.html"><img src="./templates/phpgrjp0.3/gfx/usebb.png" alt="UseBB" title="ホーム" /></a></p>
<h1 id="boardname"><span id="line">日本PHPユーザ会 掲示板</span></h1>
<h2 id="boarddescr">日本PHPユーザ会運営の掲示板です。※ただいまテスト運用中です。</h2>
<div id="topmenu"><ul>
<li><a href="index.html">ホーム</a></li><li><a href="faq.html">FAQ</a></li><li><a href="active.html">活発なトピック</a></li>
</ul></div>
<div id="topmenu-shadow"></div>
<p class="locationbar">
• <a href="index.html">日本PHPユーザ会 掲示板</a> » <a href="forum-4.html">PHP 5</a> » 軽量テンプレートエンジン
</p>
<h3 id="forumname"><a href="topic-250.html">軽量テンプレートエンジン</a></h3>
<p id="forummods"></p>
<p id="toolbartop"> </p>
<p id="pagelinkstop">ページ: 1</p>
<table class="maintable">
<tr>
<th>投稿者</th>
<th>投稿</th>
</tr>
<tr class="tr1">
<td class="postername">
<div class="posternamecontainer"><a href="profile-267.html">Shigeru Kuratani</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post715.html#post715" name="post715" rel="nofollow">#1</a> 2010 年 12 月 11 日(土) 10:22</div>
</td>
</tr>
<tr class="tr1">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 10 2009</div>
<div class="field">返信数: 6</div>
<div class="field">住居: 大阪府</div>
</td>
<td class="postcontent">
<div class="post">PHP5で動作する「シンプル」かつ「軽量」なテンプレートエンジンを開発しました。<br />PHPで記述されたテンプレートエンジンとしてはSmartyが有名ですが、Smartyよりも機能を絞り、テンプレートファイル内で変数を展開する機能を中心に、付帯する機能を実装しています。<br />メールフォームなどの小規模システムを構築する場合などにとても使い勝手が良いと思います。<br /><br />BSDライセンスにて配布しておりますので、改変も自由ですし、改変後に公開を強制されることもありません。<br />機能拡張して自身のテンプレートエンジンとして使用することが出来ます。<br /><br />構文などを示したドキュメントも用意しております。<br />下記URLより一度のぞいてみてください。<br /><br />【SimpleTemplate】<br /><a href="http://st.benefiss.com/" title="http://st.benefiss.com/" rel="external">http://st.benefiss.com/</a></div>
</td>
</tr>
<tr class="tr2">
<td class="postername">
<div class="posternamecontainer"><a href="profile-363.html">exceptionCatcher</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post716.html#post716" name="post716" rel="nofollow">#2</a> 2010 年 12 月 12 日(日) 3:17</div>
</td>
</tr>
<tr class="tr2">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 11 2010</div>
<div class="field">返信数: 4</div>
<div class="field"></div>
</td>
<td class="postcontent">
<div class="post">お世話になります。<br />exceptionCatcherと申します。<br />まず最初に、このような素晴らしいソフトウェアを公開されたことに敬意を表したいと思います。<br /><br />先ほどダウンロードしてドキュメントを見させて頂いたのですが、Smartyのライセンスに関して誤解なされてるのではと思い、コメントさせて頂きます。<br /><br />2003年、経済産業省から「オープンソースソフトウエアの利用状況調査/導入検討ガイドラインの公表について」という資料が公開されました。以下からダウンロードできます。<br /><br /><a href="http://www.meti.go.jp/kohosys/press/0004397/" title="http://www.meti.go.jp/kohosys/press/0004397/" rel="external">http://www.meti.go.jp/kohosys/press/0004397/</a><br /><br />上記サイトの2番目のPDF資料に、ライセンスごとの解釈が掲載されています。<br />特に注目して頂きたいのが62~63ページです。(PDF文書の物理的なページ番号です。文書の下部に表示されるページ番号ではありません。)62~63ページはA3横イメージの資料で、左側が62ページ、右側が63ページになっています。<br /><br />この資料によると、LGPLのSmartyでソース公開が必要となるのは、Smarty本体を修正した場合です。<br />その場合、Smarty本体及びSmarty以外のスクリプト全ての公開義務が生じます。<br /><br />しかしSmarty本体を修正しない限り、Smarty以外のスクリプトの公開義務はありません。<br /><br />例えばSmarty本体がPHP5.3系に未対応だったと仮定します。<br />そのため、Smarty本体をPHP5.3系でも問題なく動くように修正したとします。<br />このような場合「修正後のSmarty本体」「Smarty本体以外のScript」は公開せねばなりません。<br /><br />Shigeru Kurataniさんは<br />「作成したスクリプトの一部が公開を必要」と記されていますが、<br />そのようなことはないと思われます。<br /><br />もしかしたら私の解釈が間違っているのかも知れませんが、御参考までに。<br /><br />以上<br /><br />追伸<br /><br />Zendによれば<br />PHP コードのみからなるファイルでは、終了タグ ("?>") は決して含めてはいけません。<br />とのことです。<br /><br /><a href="http://framework.zend.com/manual/ja/coding-standard.php-file-formatting.html#coding-standard.php-file-formatting.general" title="http://framework.zend.com/manual/ja/coding-standard.php-file-formatting.html#coding-standard.php-file-formatting.general" rel="external">http://framework.zend.com/manual/ja/coding-standard.php-file-formatting.html#coding-standard.php-file-formatting.general</a><div class="editinfo">« 最終編集者 <a href="profile-363.html">exceptionCatcher</a> 日時 2010 年 12 月 12 日(日) 3:38. »</div></div>
</td>
</tr>
<tr class="tr1">
<td class="postername">
<div class="posternamecontainer"><a href="profile-267.html">Shigeru Kuratani</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post717.html#post717" name="post717" rel="nofollow">#3</a> 2010 年 12 月 12 日(日) 6:44</div>
</td>
</tr>
<tr class="tr1">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 10 2009</div>
<div class="field">返信数: 6</div>
<div class="field">住居: 大阪府</div>
</td>
<td class="postcontent">
<div class="post">exceptionCatcher様<br /><br />詳細なご指摘ありあがとうございます。<br />このようなフィードバックは大変ありがたいです。<br /><br />1.LGPLの理解に関して<br />ご指摘の資料を参照いたしました。また、GNUのLGPLページも少し読んでみました。<br />LGPLだけではなく、その他のOSS全般に言えることですが、「改変」・「再配布」した時点で<br />ライセンス契約に同意したとみなされます(ライセンス契約が成立します)。<br />そうすると、「修正」・「再配布」した時点で初めてライセンス契約上の問題が発生することになりますが、<br />実際のケースとして、例えば受託にてWEBシステムを構築した場合でも、「修正」もしくは、少なくとも<br />「再配布」していると言えます。<br />この場合、LGPLの適用を受けますので、やはり同等の自由を発注者に与える必要がライセンス上発生すると思われます。<br /><br />また、ご指摘のPDF62~63Pを読みましたが、「修正」した場合のみ公開義務が発生するとは読めませんでした・・・。<br />※こちらは私の理解不足かもしれません。<br /><br />仕事をしながらになりますので、少し時間がかかりますが、OSSライセンスに関する書籍等を参照してドキュメントの<br />修正を行っていきたいと考えております。<br /><br />2.終了タグ("?>")に関して<br />確かに、ZEND FRAMEWORKのコーディング規約ではPHPコードのみの場合には、終了タグは記述しないとあります。<br />しかし、PHP公式ドキュメントにはファイルのインクルードに関して、「ファイルが読み込まれるときには、読み込まれるファイルの先頭で PHPモードを抜けてHTMLモードになり、最後に再びPHPモードに戻ります。 このため、読み込むファイル中のPHPコードとして実行する必要がある コードは、 有効なPHPの開始タグおよび終了タグで括る必要があります。」(http://jp.php.net/manual/ja/function.include.php)とありますし、公式ドキュメントの参考コードも開始タグ・終了タグ共に記述されております。<br /><br />ZENDの規約にあるように、終了タグ後の空白が出力に影響する場合もあるのは分かりますが、現状のコードでも動作に不具合はないと思われますので、現状では、公式ドキュメントに則り終了タグを記述しておきたいと考えております。</div>
</td>
</tr>
<tr class="tr2">
<td class="postername">
<div class="posternamecontainer"><a href="profile-363.html">exceptionCatcher</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post718.html#post718" name="post718" rel="nofollow">#4</a> 2010 年 12 月 12 日(日) 10:11</div>
</td>
</tr>
<tr class="tr2">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 11 2010</div>
<div class="field">返信数: 4</div>
<div class="field"></div>
</td>
<td class="postcontent">
<div class="post">お世話になります。<br />exceptionCatcherです。<br />ライセンスですが、PDFファイルの62~63ページを補足します。<br /><br />(1)Smarty本体そのものを改修した場合における、Smarty本体の開示義務<br /><br />これは62ページの「改変部分のソース・コード開示が必要か」という列と思われます。<br />GNU LGPL(3行目)の箇所をみると○ですので、これは開示しなくてはなりません。<br /><br />(2)Smarty本体そのものを改修した場合における、Smarty以外の開示義務<br /><br />これは63ページの「改変して領布する場合のソフトウエア全体について,以下のことが可能か」<br />というカテゴリの「ソース・コードを非開示とする」という列と思われます。<br /><br />GNU LGPL(3行目)の箇所をみると×ですので、これは開示しなくてはなりません。<br /><br />(3)Smarty本体を改修しなかった場合における、Smarty以外の開示義務<br /><br />これは63ページの「他のコードと組み合わせて領布する場合,他のコードについて以下のことが可能か」<br />というカテゴリの「ソース・コードを非開示とする」という列と思われます。<br />(「他のコード」というのが「Smarty以外のスクリプト」に該当するのではと私は考えています。)<br />GNU LGPL(3行目)の箇所をみると○ですので、この場合、開示しなくてもよい、<br />という結論に達した次第です。<br /><br />なお*3は、Java等で「オープンソースのライブラリ」を修正せずにjarやwar等をビルドしたような場合<br />「オープンソースのライブラリ」以外の独自開発したJavaのソースは開示しなくてもよい、という意味だと思われます。<br /><br />これはあくまでも私の解釈ですが、御参考までに。<br /><br />それと終了タグ("?>")の規約、そこに記されていたんですね。<br />PHPを始めた頃、どこかで読んだ気がしたのですが思い出せず、<br />その後、Zendのサイトで終了タグの記述をみつけ、<br />Zendが言ってるんならそうなのか、と決め付けていました。<br />矛盾したままのファジーな仕様として、今後も残りそうですね<br /><br />以上</div>
</td>
</tr>
<tr class="tr1">
<td class="postername">
<div class="posternamecontainer"><a href="profile-267.html">Shigeru Kuratani</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post719.html#post719" name="post719" rel="nofollow">#5</a> 2010 年 12 月 13 日(月) 17:12</div>
</td>
</tr>
<tr class="tr1">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 10 2009</div>
<div class="field">返信数: 6</div>
<div class="field">住居: 大阪府</div>
</td>
<td class="postcontent">
<div class="post">exceptionCatcher様<br /><br />ライセンスに関する補足説明を確認致しました。<br />先般ご指摘頂いたガイドライン(<a href="http://www.meti.go.jp/kohosys/press/0004397/" title="http://www.meti.go.jp/kohosys/press/0004397/" rel="external">http://www.meti.go.jp/kohosys/press/0004397/</a>)を現在読み進めております。<br />ご指摘のように、Smatyを含むLGPLに関する私の理解が間違っていたと感じております。<br />上記のガイドラインを含めOSSに関するドキュメントなどを参照して、理解が深まった時にLGPLに関する記述を<br />加筆・修正して行こうと考えております。<br /><br />そこで、取り急ぎSimpleTemplateドキュメントからLGPLに関する記述を削除致しました。<br /><br />ご指摘ありがとうございました。大変勉強になりました。</div>
</td>
</tr>
<tr class="tr2">
<td class="postername">
<div class="posternamecontainer"><a href="profile-363.html">exceptionCatcher</a></div>
</td>
<td class="postinfo">
<div class="postlinks"></div>
<div class="postdate"><a href="topic-post902.html#post902" name="post902" rel="nofollow">#6</a> 2011 年 10 月 14 日(金) 18:59</div>
</td>
</tr>
<tr class="tr2">
<td class="posterinfo">
会員
<div class="avatar"></div>
<div class="field">登録者: 11 2010</div>
<div class="field">返信数: 4</div>
<div class="field"></div>
</td>
<td class="postcontent">
<div class="post">【2011.10.14追記】<br /><br />上記で紹介していた経済産業省のサイトがいつの間にか削除されていました。そのため、以下に以前経産省からダウンロードしたPDF資料をアップロードしておきました。<br /><a href="http://exceptioncatcher.seesaa.net/archives/20111014-1.html" title="http://exceptioncatcher.seesaa.net/archives/20111014-1.html" rel="external">http://exceptioncatcher.seesaa.net/archives/20111014-1.html</a><div class="editinfo">« 最終編集者 <a href="profile-363.html">exceptionCatcher</a> 日時 2011 年 10 月 14 日(金) 19:01. »</div></div>
</td>
</tr>
</table>
<p id="toolbarbottom"> </p>
<p id="pagelinksbottom">ページ: 1</p>
<div id="bottomfix"></div>
<p id="actionlinks"></p>
<p class="locationbar">
• <a href="index.html">日本PHPユーザ会 掲示板</a> » <a href="forum-4.html">PHP 5</a> » 軽量テンプレートエンジン
</p>
<p id="linkbar">
</p>
<p id="bottom">
日本PHPユーザ会 掲示板 は <a href="http://www.usebb.net">UseBB 1 フォーラムソフトウェア</a> を使用しています
</p>
<div id="bottom-shadow"></div>
</div>
</div>
</div>
</body>
</html>