Add coexistence checks to all enqueue methods to prevent loading both React and Grid.js assets simultaneously. Changes: - ReactAdmin.php: Only enqueue React assets when ?react=1 - Init.php: Skip Grid.js when React active on admin pages - Form.php, Coupon.php, Access.php: Restore classic assets when ?react=0 - Customer.php, Product.php, License.php: Add coexistence checks Now the toggle between Classic and React versions works correctly. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
141 lines
2.4 KiB
Markdown
141 lines
2.4 KiB
Markdown
json2php
|
|
========
|
|
|
|
### Instalation
|
|
|
|
To install json2php you could clone the project from Github or use NPM to install it.
|
|
|
|
```bash
|
|
$ npm install json2php
|
|
```
|
|
|
|
### Usage
|
|
|
|
Convert JavaScript object/array/string/number/boolean to string that is the corresponding PHP representation.
|
|
|
|
#### String
|
|
|
|
When the content is just a string the output will be the same string.
|
|
|
|
```javascript
|
|
s = json2php('Hello World!')
|
|
// => s = 'Hello World!'
|
|
```
|
|
|
|
#### Number
|
|
|
|
Numbers are the same.
|
|
|
|
```javascript
|
|
s = json2php(123)
|
|
// => s = '123'
|
|
```
|
|
|
|
#### Boolean
|
|
|
|
```javascript
|
|
s = json2php( true )
|
|
// => s = 'true'
|
|
```
|
|
|
|
#### Undefined/Null
|
|
|
|
`null` and `undefined` are returned as `null`
|
|
|
|
```javascript
|
|
s = json2php(undefined)
|
|
// => s = 'null'
|
|
```
|
|
|
|
#### Array
|
|
|
|
```javascript
|
|
s = json2php([1, 2, 3])
|
|
// => s = 'array(1, 2, 3)'
|
|
```
|
|
|
|
#### Object
|
|
|
|
```javascript
|
|
s = json2php({a: 1, b: 2, c: 'text', false: true, undefined: null})
|
|
// => s = "array('a' => 1, 'b' => 2, 'c' => 'text', 'false': true, 'undefined': null)"
|
|
```
|
|
|
|
#### Non-valid JSON
|
|
|
|
```javascript
|
|
s = json2php(new Date())
|
|
// => s = "null"
|
|
```
|
|
|
|
### Pretty printing
|
|
Create custom 'printers' with `json2php.make`:
|
|
|
|
```javascript
|
|
const printer = json2php.make({linebreak:'\n', indent:'\t', shortArraySyntax: true})
|
|
printer({one: 3, two: 20, three: [9, 3, 2]})
|
|
|
|
/* result:.
|
|
[
|
|
'one' => 3,
|
|
'two' => 20,
|
|
'set' => [
|
|
9,
|
|
3,
|
|
2
|
|
]
|
|
]
|
|
*/
|
|
```
|
|
|
|
### For Contributors
|
|
|
|
#### Tests
|
|
|
|
To run test we use `mocha` framework.
|
|
|
|
```bash
|
|
$ npm test
|
|
```
|
|
|
|
#### CoffeeScript Source
|
|
|
|
But in any case you will depend on `coffee-script`
|
|
|
|
```bash
|
|
$ npm run build
|
|
```
|
|
|
|
### Changelog
|
|
|
|
#### 0.0.7
|
|
* Add `shortArraySyntax` to pretty print options
|
|
|
|
#### 0.0.6
|
|
* Add pretty print capability via `json2php.make` (thanks to @stokesman)
|
|
|
|
#### 0.0.5
|
|
* Update and clean up (thanks to @SumoTTo)
|
|
* Add boolean type (thanks to @SumoTTo)
|
|
|
|
#### 0.0.4
|
|
* Fix for single quotes escaping (thanks to @ksky521)
|
|
|
|
#### 0.0.3
|
|
* Fixed the case when non-valid JSON is passed
|
|
* Fixing the bug with the object section
|
|
|
|
#### 0.0.2
|
|
* Adding the package.json to Git repository, also package dependency
|
|
* Changes into the file structure
|
|
* Adding CoffeeScript source ( Not finished yet )
|
|
* Adding Cakefile and task `test`
|
|
* Adding Mocha for test framework.
|
|
* Adding `test`, `src`, `lib` directory
|
|
* Adding tests
|
|
|
|
#### 0.0.1
|
|
* Init the project into NPM
|
|
* module.exports for Node.js
|
|
* Added json2php into the global scope with global.json2php
|