4

php 5.3.0 をインストールしたところ、<? などの短い開始タグを使用する php スクリプトは実行されず、<?PHP のみが実行されます。


キーワードとシンボルに関する Clojure のドキュメントは次のとおりです。

キーワードは、それ自体に評価される記号識別子です。それらは非常に高速な等価テストを提供します...

シンボルは、通常、何かを参照するために使用される識別子です。プログラム形式で使用して、関数パラメーター、let バインディング、クラス名、およびグローバル変数を参照できます...

キーワードは一般に、ハッシュマップのキーやマルチメソッドのディスパッチ値など、軽量の「定数文字列」として使用されます。シンボルは通常、変数や関数に名前を付けるために使用され、マクロなどを除いてそれらをオブジェクトとして直接操作することはあまり一般的ではありません。しかし、キーワードを使用するすべての場所で記号を使用することを妨げるものは何もありません (常に引用してもかまわない場合)。

Keyword.java違いを確認する最も簡単な方法は、Symbol.javaClojure ソースを読むことです。いくつかの明らかな実装の違いがあります。たとえば、Clojure の Symbol はメタデータを持つことができますが、Keyword はできません。

単一コロンの構文に加えて、二重コロンを使用して名前空間修飾キーワードを作成できます。

user> :foo
:foo
user> ::foo
:user/foo

Common Lisp には、Ruby や他の言語と同様にキーワードがあります。もちろん、これらの言語ではわずかに異なります。Common Lisp キーワードと Clojure キーワードの違い:

  1. Clojure のキーワードはシンボルではありません。

    user> (symbol? :foo)  
    false
    
  2. キーワードは、具体的に修飾しない限り、どの名前空間にも属しません。

    user> (namespace :foo)
    nil
    user> (namespace ::foo)
    "user"
    

(注目すべきもののアイデアを提供してくれたRainer Joswigに感謝します。)

4

3 に答える 3

17

php.ini ファイルを更新する必要があります。

short_open_tag = 1 を設定

PHPマニュアルを参照してください

于 2009-10-06T19:55:16.500 に答える
6

それは単に悪い習慣だからです。使用するすべてのスクリプトを再変換することをお勧めします<?php。怠け者なら、検索と置換を使用できます。bash のような強力なコマンド ラインにアクセスできる場合は、sed を使用してこれを行うことができます。

于 2009-10-06T19:55:40.727 に答える
4

http://us2.php.net/manual/en/ini.core.php

you need to

ini_set("short_open_tag", 1)

or adjust your systems php.ini file.

于 2009-10-06T19:57:12.600 に答える