Skip to content

Commit

Permalink
wip
Browse files Browse the repository at this point in the history
  • Loading branch information
rodber committed Jan 24, 2024
1 parent 0ad8d8d commit 1146a80
Show file tree
Hide file tree
Showing 14 changed files with 34 additions and 286 deletions.
41 changes: 0 additions & 41 deletions developer/spec/exceptions.md

This file was deleted.

3 changes: 1 addition & 2 deletions developer/spec/naming.php
Original file line number Diff line number Diff line change
Expand Up @@ -3,5 +3,4 @@
return [
'interfaces.md' => 'Interfaces',
'components.md' => 'Components',
'exceptions.md' => 'Exceptions',
];
];
1 change: 0 additions & 1 deletion developer/standard/coding.md
Original file line number Diff line number Diff line change
Expand Up @@ -93,5 +93,4 @@ Comments in logic should be used only in the following cases:
DocBlock content should be **short** as possible, **relevant** and **omit** the obvious.

* Use markdown
* `@throws` must be provided for all known exceptions
* `@param` and `@return` should be avoided (prefer typed code)
3 changes: 1 addition & 2 deletions developer/standard/quality.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,6 @@ We use the following third-party CI services:

* [SonarCloud](https://sonarcloud.io/)
* [CodeFactor](https://www.codefactor.io/)
* [Codacy](https://www.codacy.com/)
* [Stryker Mutator](https://stryker-mutator.io/)

## Extensively tested
Expand All @@ -32,7 +31,7 @@ To ensure the quality of the tests, all Chevere software requires **mutation tes

All Chevere software **must** be documented.

We use [docs-deploy](https://github.com/chevere/docs-deploy), which is our own documenting system.
We use [docs-deploy](https://github.com/chevere/docs-deploy) documenting system.

## PHPStan Level 9

Expand Down
16 changes: 4 additions & 12 deletions introduction/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,35 +2,27 @@

## What is Chevere?

Chevere is a strict, strong-typed PHP development library. It is the stuff developers use to build *other* software as it is an small software package providing the core tooling needed to organize and run the logic of any given software application.
Chevere is a strict, strong-typed PHP development library. It is the stuff developers use to build *other* software as it is a collection of packages providing the core tooling needed to organize and run the logic of any given software application.

💡 The term *chévere* is ubiquitous in Latin America, known in every Spanish speaking country and it means **cool/awesome**.

## Core concepts

### Clean & Typed

Chevere follows [Clean Code](http://cleancoder.com/products) principles, which can be resumed as the practice of creating code that is easy to understand, to change and maintain.
Chevere follows Clean Code principles, which can be resumed as the practice of creating code that is easy to understand, to change and maintain.

### Extensible

A core library tooling for general purposes, with enough flexibility to allow the creation a myriad of systems with the same know-how. Also packages for specific needs.
Packages of all types, with enough flexibility to allow the creation a myriad of systems with the same know-how.

### Modern & High quality

All-new PHP 8 codebase with strict standards. Chevere has been designed from scratch for PHP 8, and it uses all the goodies added to it. On top of that it follows own high [quality](../developer/standard/quality.md) standards.

## Why Chevere and not X?

If you can use software from *well-known* vendors why you should use Chevere?

Main reason for Chevere is its high quality with a clean syntax. You can tell that by interacting with Chevere and because the code is scrutinized by several third-party tools.

It is day and night when the arguments to use a codebase are vague subjective terms like *expressive syntax* or *well-maintained* compared to objetive code measure metrics.

## Who makes Chevere?

Chevere is driven by [Chevereto](https://chevereto.com) and is made by the same author ([Rodolfo Berrios](https://rodolfoberrios.com), hi) with solid 18+ years of experience building systems.
Chevere is driven by [Chevereto](https://chevereto.com) and is made by the same author ([Rodolfo Berrios](https://rodolfoberrios.com), hi).

Chevere was created as the supporting framework for Chevereto, and Chevereto supports Chevere's development.

Expand Down
28 changes: 2 additions & 26 deletions introduction/installation.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,9 @@
# Installation

## System Requirements
Chevere is a set of [PHP packages](https://packagist.org/packages/chevere/) packages that can be installed using [Composer](https://getcomposer.org/).

💡 Chevere system requirements can be found in the `composer.json` file.

### PHP

Chevere is built and tested for [unix-like systems](../developer/environment/system.md#operating-system).

* [PHP 8](https://www.php.net/releases/8.0)

The [chevere.ini](https://github.com/chevere/chevere/blob/main/chevere.ini) file provides the PHP settings required for Chevere.

## Installing

* Requires [Composer](https://getcomposer.org/)
If you need to use several packages consider installing [chevere/chevere](https://github.com/chevere/chevere) which contains all packages.

```sh
composer require chevere/chevere
```

The above command will install Chevere and its dependencies at `vendor/`.

## Now what?

Chevere will be available project-wide. Make sure to load `vendor/autoload.php` in your entry point:

```php
require 'vendor/autoload.php';
```

Once installed you can start using any of the built-in [components](../library/README.md).
9 changes: 0 additions & 9 deletions library/naming.php

This file was deleted.

105 changes: 0 additions & 105 deletions library/string.md

This file was deleted.

77 changes: 0 additions & 77 deletions library/type.md

This file was deleted.

10 changes: 7 additions & 3 deletions library/filesystem.md → packages/filesystem.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,12 @@
# Filesystem

Namespace `Chevere\Filesystem`
## Summary

The Filesystem component is in charge of interact with the filesystem, offering a myriad of related functionalities.
Filesystem related functionalities.

## Installing

Filesystem is available through [Packagist](https://packagist.org/packages/chevere/filesystem) and the repository source is at [chevere/filesystem](https://github.com/chevere/filesystem).

## Path

Expand Down Expand Up @@ -123,7 +127,7 @@ $boolean = $directory->exists();
The `assertExists` method asserts if the directory exists. Throws exception when the directory doesn't exists in the filesystem.

```php
use Chevere\Exceptions\Filesystem\DirNotExistsException;
use Chevere\Filesystem\Exceptions\DirNotExistsException;

$directory->assertExists(); // Throws DirNotExistsException
```
Expand Down
1 change: 1 addition & 0 deletions packages/naming.php
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,5 @@
'writer.md' => 'Writer',
'xrdebug.md' => 'xrDebug',
'sql2p.md' => 'SQL2P',
'var-support.md' => 'VarSupport',
];
2 changes: 1 addition & 1 deletion packages/sql2p.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

## Summary

SQL2P generates [Parameter(s)](https://chevere.org/library/parameter) for MySQL schemas. It represents database tables and its columns using the Parameter package.
SQL2P generates [Parameter(s)](https://chevere.org/packages/parameter) for MySQL schemas. It represents database tables and its columns using the Parameter package.

## Installing

Expand Down
10 changes: 8 additions & 2 deletions library/standard.md → packages/standard.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,14 @@
# Standard

Namespace `Chevere\Standard`
## Summary

The Standard component provides improvements and alternatives to PHP's standard function library.
Improvements and alternatives to PHP's standard function library.

## Installing

Standard is available through [Packagist](https://packagist.org/packages/chevere/standard) and the repository source is at [chevere/standard](https://github.com/chevere/standard).

The Standard component .

## arrayFilterBoth

Expand Down
Loading

0 comments on commit 1146a80

Please sign in to comment.