senooken JP Social
  • FAQ
  • Login
senooken JP Socialはsenookenの専用分散SNSです。
  • Public

    • Public
    • Network
    • Groups
    • Popular
    • People

せのお (妹尾 賢) (senooken@social.senooken.jp)'s status on Saturday, 13-Jul-2019 01:59:50 JST

  1. せのお (妹尾 賢) (senooken@social.senooken.jp)'s status on Saturday, 13-Jul-2019 01:59:50 JST せのお (妹尾 賢) せのお (妹尾 賢)
    in reply to
    • weepjp
    1個1個公式文書を当たって確認するのが結局のところ近道です。

    Mastodonを自分でインストールしたことはないのですが,表示が崩れるのですか?こちらのGNU socialは文字数制限は自分で決められ,文字数カウントを使いたいので,今は投稿上限10万文字にしています。長文が来ても,こんな感じでスクロールできるので特に問題ありませんが,Mastodonはそうではないのですか?
    https://social.senooken.jp/notice/2412809
    それは基本機能に問題あるように思いますけどね…

    そもそも文字数制限はくだらない機能だと思っています。こんなくだらない制限のために,重要なことが伝えられないなんてあほらしいです。仮に,こちらも文字数制限が500文字だったら,一度の投稿でのサンプルコードや根拠の掲載も難しく,何度も連投必要になり,お互い不便なだけです。

    まあ,ここでこんなこと書いてもあまり意味ないのですけど
    In conversation Saturday, 13-Jul-2019 01:59:50 JST from web permalink

    Attachments

    1. せのお (senooken@social.senooken.jp)'s status on Saturday, 13-Jul-2019 01:37:32 JST
      By せのお (senooken@social.senooken.jp) from social.senooken.jp
      バージョンが変わってエラーになった原因がわかりました。

      PHP 7.2.0からそれまでE_NOTICE扱い (PHP標準では無視のレベル) だったのが,E_WARNINGにエラーレベルが格上げされたのが原因です。
      https://www.php.net/manual/en/language.types.array.php#language.types.array.foo-bar

      手っ取り早く,エラーを回避したいならば,以下のコードのように,error_reportingを修正してエラーレベルからE_WARNINGを除外すればOKです。ただし,E_WARNINGは警告なので,この対処方法はオススメしません。

      <?php
      error_reporting(E_ALL & ~E_NOTIVE & ~E_STRICT & ~E_DEPRECATED & ~E_WARNING);
      $arr = array("fruit" => "apple");
      echo $arr[fruit] . "\n";

      $foo[baa]がだめな理由は以下に詳しく書いてあります。
      PHPでは,変数は$の前置が必須であり,それ以外は関数か定数のどちらかとみなされます。そのため,$foo[bar]は定数未定義のため,エラーとなるはずでした。しかし,配列のキーの場合,未定義定数の場合,昔のPHPは他にありえないので文字列だと解釈してくれていたようです。
      https://www.php.net/manual/ja/language.types.array.php#language.types.array.foo-bar

      どちらにしても,PHPの構文上,この記法はまずいので,リテラルの文字 (コード上に直接記す文字) は一重引用符 (') か二重引用符 (") で囲むことが必須です。

      一括置換で直すのが後のためだと思います。

      なお,PHPは今でも現代的なGoやRuby,node.jsと戦って勝負できるレベルの言語なので,PHPが古いなどの批判はあまり気にしなくてもいいと思いますよ。
      参考: http://isucon.net/archives/52502356.html

      PHPの新しい機能を使いこなして,古くて悪くなってしまったやりかたを変えればいいだけだと思います。
      どうしても気になるならば,乗り換えればいいとは思いますが…。

Feeds

  • Activity Streams
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

senooken JP Social is a social network, courtesy of senooken. It runs on GNU social, version 2.0.2-beta0, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All senooken JP Social content and data are available under the Creative Commons Attribution 3.0 license.