Skip to content
This repository has been archived by the owner on Mar 16, 2024. It is now read-only.

Commit

Permalink
Merge pull request #3 from vdhicts/feature/update-php8
Browse files Browse the repository at this point in the history
Update to PHP 8+ and cleanup package
  • Loading branch information
dvdheiden authored Mar 6, 2022
2 parents 2d449e8 + be79a40 commit 3ca3a67
Show file tree
Hide file tree
Showing 23 changed files with 264 additions and 1,895 deletions.
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Bug report
about: Create a report to help us improve
title: ""
labels: bug
assignees: dvdheiden

---

## Describe the bug

A clear and concise description of what the bug is.

## Reproduction

Steps to reproduce the behavior.

## Expected behavior

A clear and concise description of what you expected to happen.

## Actual behavior

Describe the behavior as it is right now.

## Additional information

Anything else you want to provide.
16 changes: 16 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
---
name: Feature request
about: Suggest an idea for this project
title: ""
labels: feature
assignees: dvdheiden

---

## Goal

A clear and concise description of what the problem is. Ex. I think this could be easier when...

## Additional information

Add any other context or screenshots about the feature request here.
7 changes: 7 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Changes

Provide a summary of your changes.

# Checks

- [ ] The changelog is updated (when applicable)
32 changes: 32 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: Menu Builder

on: [push]

jobs:
tests:
runs-on: ubuntu-latest
strategy:
matrix:
php-versions: ['7.4', '8.0', '8.1']

name: PHP ${{ matrix.php-versions }}

steps:
- name: Checkout
uses: actions/checkout@v2

- name: Setup PHP
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php-versions }}

- name: Install Dependencies
run: composer install -q --no-ansi --no-interaction --no-scripts --no-suggest --no-progress

- name: Execute tests (Unit and Feature tests) via PHPUnit
run: |
vendor/bin/phpunit
- name: Execute static analysis
run: |
vendor/bin/phpstan
155 changes: 5 additions & 150 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -1,150 +1,5 @@
# Based on https://github.com/github/gitignore/tree/master/Global

################################################################################
#
# Ignore all dot-files and dot-folders, except .htaccess and .gitignore
#
################################################################################
.*
!/.gitignore
!/.htaccess

################################################################################
#
# JetBrains IDEs: IntelliJ, RubyMine, PhpStorm, AppCode, PyCharm, CLion
#
################################################################################
*.iml
.idea/

## File-based project format:
*.ipr
*.iws

# Plugin-specific files:

# IntelliJ
/out/

# mpeltonen/sbt-idea plugin
.idea_modules/

# JIRA plugin
atlassian-ide-plugin.xml

# Crashlytics plugin (for Android Studio and IntelliJ)
com_crashlytics_export_strings.xml
crashlytics.properties
crashlytics-build.properties

################################################################################
#
# Netbeans
#
################################################################################

nbproject/
build/
nbbuild/
dist/
nbdist/
nbactions.xml
nb-configuration.xml
.nb-gradle/

################################################################################
#
# Windows OS
#
################################################################################

# Windows image file caches
Thumbs.db
ehthumbs.db

# Folder config file
Desktop.ini

# Recycle Bin used on file shares
$RECYCLE.BIN/

# Windows Installer files
*.cab
*.msi
*.msm
*.msp

# Windows shortcuts
*.lnk

################################################################################
#
# Notepad++
#
################################################################################

*.bak

################################################################################
#
# Vagrant
#
################################################################################

.vagrant/

################################################################################
#
# TortoiseGit
#
################################################################################

# Project-level settings
/.tgitconfig

################################################################################
#
# NodeJS
#
################################################################################

# Logs
logs
*.log

# Runtime data
pids
*.pid
*.seed

# Directory for instrumented libs generated by jscoverage/JSCover
lib-cov

# Coverage directory used by tools like istanbul
coverage

# Grunt intermediate storage (http://gruntjs.com/creating-plugins#storing-task-files)
.grunt

# node-waf configuration
.lock-wscript

# Compiled binary addons (http://nodejs.org/api/addons.html)
build/Release

# Dependency directory
# https://docs.npmjs.com/misc/faq#should-i-check-my-node-modules-folder-into-git
node_modules

################################################################################
#
# Composer
#
################################################################################

composer.phar
vendor/

# Commit your application's lock file http://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file
# You may choose to ignore a library lock file http://getcomposer.org/doc/02-libraries.md#lock-file
# composer.lock
composer.lock
/vendor/
/.idea/
/build/
.phpunit.result.cache
29 changes: 14 additions & 15 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,22 +6,20 @@ further implemented.

## Requirements

This package requires PHP 7 and the renderers make use of [vdhicts/html-element](https://github.com/vdhicts/dicms-html-element).
This package requires PHP 7.4+ and the renderers make use of [vdhicts/html-element](https://github.com/vdhicts/html-element).

## Installation

This package can be used in any PHP project or with any framework.

You can install the package via composer:

``` bash
composer require vdhicts/menu-builder
```
`composer require vdhicts/menu-builder`

## Usage

```php
use Vdhicts\Dicms\Menu;
use Vdhicts\Menu;

$item = new Menu\Item(1, 'Search engines');
$subItemGoogle = new Menu\Item(2, 'Google', 'http://www.google.com', $item->getId());
Expand Down Expand Up @@ -159,28 +157,29 @@ In which you should replace the menu id.

## Tests

Full code coverage unit tests are available in the `tests` folder. Run via phpunit:
Unit tests are available in the `tests` folder. Run with:

`composer test`

`vendor\bin\phpunit`
When you want a code coverage report which will be generated in the `build/report` folder. Run with:

By default a coverage report will be generated in the `build/coverage` folder.
`composer test-coverage`

## Contribution

Any contribution is welcome, but it should be fully tested, meet the PSR-2 standard and please create one pull request
per feature. In exchange you will be credited as contributor on this page.
Any contribution is welcome, but it should meet the PSR-12 standard and please create one pull request per feature/bug.
In exchange, you will be credited as contributor on this page.

## Security

If you discover any security related issues in this or other packages of Vdhicts, please email info@vdhicts.nl instead
of using the issue tracker.
If you discover any security related issues in this or other packages of Vdhicts, please email security@vdhicts.nl
instead of using the issue tracker.

## License

This package is open-sourced software licensed under the [MIT license](http://opensource.org/licenses/MIT).

## About vdhicts

[Van der Heiden ICT services](https://www.vdhicts.nl) is the name of my personal company for which I work as
freelancer. Van der Heiden ICT services develops and implements IT solutions for businesses and educational
institutions.
[Vdhicts](https://www.vdhicts.nl) is the name of my personal company for which I work as freelancer. Vdhicts develops
and implements IT solutions for businesses and educational institutions.
28 changes: 23 additions & 5 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -11,13 +11,31 @@
}
],
"require": {
"php": "^7.0",
"vdhicts/html-element": "^2.0"
"php": "^7.4|^8.0",
"vdhicts/html-element": "^3.0"
},
"require-dev": {
"phpunit/phpunit": "^6.1"
"phpstan/phpstan": "^1.2",
"phpunit/phpunit": "^9.0"
},
"autoload": {
"psr-4": {"Vdhicts\\Dicms\\Menu\\": "src/"}
}
"psr-4": {
"Vdhicts\\Menu\\": "src/"
}
},
"autoload-dev": {
"psr-4": {
"Vdhicts\\Menu\\Tests\\": "tests"
}
},
"scripts": {
"test": "vendor/bin/phpunit --no-coverage",
"test-coverage": "vendor/bin/phpunit",
"analyse": "vendor/bin/phpstan"
},
"config": {
"sort-packages": true
},
"minimum-stability": "dev",
"prefer-stable": true
}
Loading

0 comments on commit 3ca3a67

Please sign in to comment.