npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

nadesiko3php

v0.0.16

Published

Japanese Programming Language "Nadesiko3" with PHP

Downloads

56

Readme

なでしこ3PHP - nadesiko3php

日本語プログラミング言語「なでしこ」をPHPで動かすプロジェクト。 サーバーでの利用を想定しています。

使い方を確認するには、利用サンプル を確認すると良いでしょう。

これは何?

日本語プログラミング言語「なでしこ」をPHP上で動かすためのプロジェクトです。格安のレンタルサーバーではスクリプト言語としてPHPが採用されていることが多いようです。そこで、なでしこ3PHPを使えば、そうした格安サーバーでもなでしこのプログラムを動かせます。

参考までに、2022年8月時点での格安レンタルサーバーの価格です。いずれも月々のお小遣いで契約できる価格(大抵、キャンペーンがあるのでもっと安い)です。

| 提供者 | 価格 | URL | |-------|-----|---------------------| | ロリポップ | 月132円(初期費用:1650円) | https://lolipop.jp/ | | さくらのレンタルサーバー | 1年1571円(月換算131円) | https://rs.sakura.ad.jp/ | | Xserver | 1年分一括1100円(月換算92円) | https://www.xserver.ne.jp/ | | ConoHa WING | 1時間2.2円(月1320円) | https://www.conoha.jp/wing/ |

動作原理

なでしこ3PHPの仕組みですが、なでしこ3のプログラムをPHPのプログラムに変換して実行します。

もともと、オリジナルの「なでしこ3」では、なでしこのプログラムを、抽象木構文(AST)に変換して、それを元にしてJavaScriptを出力しています。 そこで、このプロジェクトでは抽象木構文(AST)からPHPのプログラムを出力します。

  • なでしこ3 → AST → JavaScript (なでしこ3オリジナル)
  • なでしこ3 → AST → PHP (なでしこ3PHP)

実行に必要なツール

なでしこ3エンジンのコアは、Node.jsで開発されています。 そのため、実行にはPHP7以上Node.jsが必要です。

Windowsでなでしこ3PHPをインストールする方法

  • (1) 本リポジトリに含まれる、win32-start.nakophp.iniを同じフォルダに保存します。
  • (2) なでしこv1をダウンロードし、なでしこエディタ(nakopad.exe)でwin32-start.nakoを開いて実行してください。
  • (3) ボタンが複数表示されるので、上から順にボタンをクリックしていくと、セットアップできます。
  • (4) 本リポジトリのwin32-edit.nakoを使うと、なでしこ3PHPの専用エディタが起動します。
    • なでしこv1で作られたエディタなので、Shift_JIS外の文字コード(絵文字を含む)を扱えませんが、手軽になでしこ3PHPのコードを実行できます。
  • 手順をまとめたマニュアル(PDF)もあります。ご覧ください。

上記の方法を使わず、なでしこ3PHPのインストール方法

npmを使ってインストールする場合:

npm -g install nadesiko3php

リポジトリから取得する場合:

git clone https://github.com/kujirahand/nadesiko3php.git
npm install

リポジトリから取得した場合は、npm binのディレクトリにパスを通してください。

使い方

コマンドラインで以下のようなコマンドを実行すると「(プログラム).php」というファイル(およびなでしこ3ランタイムが入ったsrcフォルダ)が作成されます。

phpnako -c (プログラム).nako3

監視モード(即時自動コンパイル)で効率アップ

あるいは作業しているフォルダに対して監視を行って、「.nako3」ファイルが更新されたら自動的にコンパイルするように指定できます。

cd (作業対象のパス)
phpnako --watch

なおPHPのサーバーモードを使えば、なでしこPHPとPHPだけで開発が可能です。以下のコマンドでPHPのサーバーが起動します。その後、ブラウザで「http://localhost:8888」へアクセスすると実行結果を確認できます。

# PHPのローカルサーバーを利用する場合
php -S localhost:8888 -c php.ini

レンタルサーバーなどにアップして動かす場合

生成したプログラム(*.php)+本リポジトリのsrcフォルダ(なでしこ3ランタイム)をWebサーバーに配置すると実行できます。

コマンドラインで即時実行もできます

なお、普通にコマンドラインでPHPを使いたい場合は、以下のように記述してプログラムを即時実行できます。Node.js版のcnako3でも同じように実行できますが、PHP版も意外と便利かも。

# 普通にプログラムを即時実行
phpnako (プログラム).nako3
# ワンライナーでコマンドラインでプログラムを指定して実行
phpnako -e "1+2×3を表示。"

利用できる命令

なでしこ3の以下のプラグイン命令が使えます。

プラグインの作り方

  • (1) プラグインを作ります。plugin_php.phpが参考になります。
  • (2) PHPプログラムから自動的に関数定義をJSONでエクスポートします。cd src && php convert_php2json.phpを実行します。