Skip to content

Commit 3b7f73e

Browse files
committed
Merge branch 'release-4.0.0-alpha.3'
2 parents 1d08b04 + 23063a0 commit 3b7f73e

File tree

537 files changed

+22346
-15424
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

537 files changed

+22346
-15424
lines changed

.gitignore

+1-9
Original file line numberDiff line numberDiff line change
@@ -43,32 +43,25 @@ $RECYCLE.BIN/
4343
# as it poses a security risk.
4444
.env
4545
.vagrant
46-
application/.env
4746
Vagrantfile
4847

4948
#-------------------------
5049
# Temporary Files
5150
#-------------------------
5251
writable/cache/*
5352
!writable/cache/index.html
54-
!writable/cache/.htaccess
5553

5654
writable/logs/*
5755
!writable/logs/index.html
58-
!writable/logs/.htaccess
5956

6057
writable/session/*
6158
!writable/session/index.html
62-
!writable/session/.htaccess
6359

6460
writable/uploads/*
6561
!writable/uploads/index.html
66-
!writable/uploads/.htaccess
6762

6863
writable/debugbar/*
6964

70-
application/Database/Migrations/2*
71-
7265
php_errors.log
7366

7467
#-------------------------
@@ -130,5 +123,4 @@ nb-configuration.xml
130123
.vscode/
131124

132125
/results/
133-
/phpunit*.xml
134-
126+
/phpunit*.xml

.travis.yml

+4-1
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@ language: php
33
php:
44
- 7.1
55
- 7.2
6+
- 7.3
67
- nightly
78

89
matrix:
910
fast_finish: true
1011
allow_failures:
12+
- php: 7.3
1113
- php: nightly
1214

1315
global:
@@ -16,7 +18,8 @@ global:
1618

1719
# Recommended by Travis support
1820
sudo: required
19-
dist: precise
21+
dist: trusty
22+
group: edge
2023

2124
env:
2225
- DB=mysqli

README.md

+7-5
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
# CodeIgniter 4 Development
22

3-
[![Build Status](https://travis-ci.org/bcit-ci/CodeIgniter4.svg?branch=develop)](https://travis-ci.org/bcit-ci/CodeIgniter4)
4-
[![Coverage Status](https://coveralls.io/repos/github/bcit-ci/CodeIgniter4/badge.svg?branch=develop)](https://coveralls.io/github/bcit-ci/CodeIgniter4?branch=develop)
3+
[![Build Status](https://travis-ci.org/codeigniter4/CodeIgniter4.svg?branch=develop)](https://travis-ci.org/codeigniter4/CodeIgniter4)
4+
[![Coverage Status](https://coveralls.io/repos/github/codeigniter4/CodeIgniter4/badge.svg?branch=develop)](https://coveralls.io/github/codeigniter4/CodeIgniter4?branch=develop)
55
<br>
66

77
## What is CodeIgniter?
88
CodeIgniter is a PHP full-stack web framework that is light, fast, flexible, and secure.
99
More information can be found at the [official site](http://codeigniter.com).
1010

11-
This repository holds the pre-alpha code for CodeIgniter 4 only.
11+
This repository holds the alpha code for CodeIgniter 4 only.
1212
Version 4 is a complete rewrite to bring the quality and the code into a more modern version,
1313
while still keeping as many of the things intact that has made people love the framework over the years.
1414

@@ -18,7 +18,9 @@ More information about the plans for version 4 can be found in [the announcement
1818

1919
### Documentation
2020

21-
The current documentation can be found [here](https://bcit-ci.github.io/CodeIgniter4/). As with the rest of the framework, it is currently a work in progress, and will see changes over time to structure, explanations, etc.
21+
The current in-progress documentation can be found [here](https://codeigniter4.github.io/CodeIgniter4/).
22+
As with the rest of the framework, it is currently a work in progress, and will see changes over time to structure, explanations, etc.
23+
2224

2325
## Important Change with index.php
2426

@@ -63,7 +65,7 @@ if you want to take the lead for one of them.
6365

6466
We are not looking for out-of-scope contributions, only those that would be considered part of our controlled evolution!
6567

66-
Please read the [*Contributing to CodeIgniter*](https://github.com/bcit-ci/CodeIgniter4/blob/develop/contributing.md) section in the user guide
68+
Please read the [*Contributing to CodeIgniter*](https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing.md) section in the user guide
6769

6870
## Server Requirements
6971
PHP version 7.1 or higher is required, with the following extensions installed:

admin/README.md

+87-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,90 @@
1-
# CodeIgniter 4 Admin
1+
#CodeIgniter 4 Admin
22

33
This folder contains tools or docs useful for project maintainers.
44

5-
- [docbot](./docbot.md) - build & deploy user guide
6-
- [release](./release.md) - build & deploy framework release
5+
##Repositories inside https://github.com/codeigniter4
6+
7+
- **CodeIgniter4** is the main development repository.
8+
It supports issues and pull requests, and has a rule to enforce GPG-signed commits.
9+
In addition to the framework source, it includes unit testing and documentation source.
10+
The three repositories following are built from this one as part of the release workflow.
11+
This repo is meant to be forked by contributors.
12+
13+
- **framework** is the released developer repository.
14+
It contains all the main pieces of the framework that developers would use to
15+
build their apps, but not the framework unit testing or the user guide source.
16+
It is meant to be downloaded by developers, or composer-installed.
17+
This is a read-only repository.
18+
- **appstarter** is the released application starter repository.
19+
It is derived from the framework's `application` and `public` folders, with
20+
a composer requirement dependency to pull in the framework itself.
21+
It is meant to be downloaded or composer-installed.
22+
This is a read-only repository.
23+
- **userguide** is released documentation publishing repository.
24+
It contains built versions of the user guide, corresponding to the
25+
framework releases.
26+
It could be downloaded, forked or potentially composer-installed.
27+
This is a read-only repository.
28+
29+
- **coding-standard** is the coding style standards repository.
30+
It contains PHP CodeSniffer rules to ensure consistent code style
31+
within the framework itself.
32+
It is meant to be composer-installed.
33+
- **translations** is the repository holding official translations of
34+
the locale-dependent system messages.
35+
It is community-maintained, and accepts issues and pull requests.
36+
It could be downloaded, forked or composer-installed.
37+
38+
##Contributor Scripts
39+
40+
- **setup.sh** installs a git pre-commit hook into a contributor's
41+
local clone of their fork of the `CodeIgniter4` repository.
42+
- **pre-commit** runs PHP Lint and PHP CodeSniffer on any files
43+
to be added as part of a git commit, ensuring that they conform to the
44+
framework coding style standards, and automatically fixing what can be.
45+
46+
##Maintainer Scripts
47+
48+
- **release-config** holds variables used for the maintainer & release building
49+
- **docbot** re-builds the user guide from the RST source for it,
50+
and optionally deploys it to the `gh-pages` branch of the main
51+
repository (if the user running it has maintainer rights on that repo).
52+
See the [writeup](./docbot.md).
53+
54+
##Release Building Scripts
55+
56+
The release workflow is detailed in its own writeup; these are the main
57+
scripts used by the release manager:
58+
59+
- **release** builds a new release branch in the main repo, for vetting.
60+
This includes updating version dependencies or constants,
61+
generating version(s) of the user guide; and possibly
62+
moving or ignoring stuff, distinguishing release from development.
63+
If successful, it will update the `config` file, with the version number
64+
in it, and it will run the related scripts following, to revise
65+
the release distributions.
66+
Usage: `admin/release version qualifier`
67+
- **release-framework** builds the distributable framework repo.
68+
It could be used on its own, but is normally part of `release`.
69+
- **release-appstarter** builds the distributable appstarter repo.
70+
It could be used on its own, but is normally part of `release`.
71+
- **release-userguide** builds the distributable userguide repo.
72+
It could be used on its own, but is normally part of `release`.
73+
- **release-deploy** pushes the release changes to the appropriate github
74+
repositories. Tag & create releases on github. This is not easily reversible!
75+
Usage: `admin/release-deploy version qualifier`
76+
- **release-revert** can be used to restore your repositories to the state they
77+
were in before you started a release. **IF** you haven't deployed.
78+
This is in case you decide not to proceed with the release, for any reason.
79+
Remember to be polite when running it.
80+
81+
82+
##Other Stuff
83+
84+
- **release-notes.bb** is a boilerplate for forum announcements of a new release.
85+
It is marked up using [BBcode](https://en.wikipedia.org/wiki/BBCode).
86+
- The **framework** and **starter** subfolders contain files that will over-ride
87+
those from the development repository, when the distribution repositories
88+
are built.
89+
- The subfolders inside `admin` contain "next release" files in the case of
90+
`codeigniter4` and over-written distribution files in the other cases.

admin/docbot

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
# Rebuild and deploy CodeIgniter4 user guide
44

5-
UPSTREAM=https://github.com/bcit-ci/CodeIgniter4.git
5+
. config
66

77
# Prepare the nested repo clone folder
88
cd user_guide_src
@@ -33,4 +33,4 @@ if [ $1 = "deploy" ]; then
3333
git add .
3434
git commit -S -m "Docbot synching"
3535
git push -f origin gh-pages
36-
fi
36+
fi

admin/docbot.md

+2-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@
22

33
Builds & deploys user guide.
44

5-
The CI4 user guide, warts & all, is rebuilt in a nested
5+
The in-progress CI4 user guide, warts & all, is rebuilt in a nested
66
repository clone (`user_guide_src/build/html`), with the result
77
optionally pushed to the `gh-pages` branch of the repo.
88
That would then be publically visible as the in-progress
9-
version of the [User Guide](https://bcit-ci.github.io/CodeIgniter4/).
9+
version of the [User Guide](https://codeigniter4.github.io/CodeIgniter4/).
1010

1111
## Audience
1212

admin/framework/README.md

+69
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
# CodeIgniter 4 Framework
2+
3+
## What is CodeIgniter?
4+
CodeIgniter is a PHP full-stack web framework that is light, fast, flexible, and secure.
5+
More information can be found at the [official site](http://codeigniter.com).
6+
7+
This repository holds the distributable version of the framework,
8+
including the user guide. It has been built from the
9+
[development repository](https://github.com/codeigniter4/CodeIgniter4).
10+
11+
**This is pre-release code and should not be used in production sites.**
12+
13+
More information about the plans for version 4 can be found in [the announcement](http://forum.codeigniter.com/thread-62615.html) on the forums.
14+
15+
The user guide corresponding to this version of the framework can be found
16+
[here](https://codeigniter4.github.io/userguide/).
17+
18+
19+
## Important Change with index.php
20+
21+
`index.php` is no longer in the root of the project! It has been moved inside the *public* folder,
22+
for better security and separation of components.
23+
24+
This means that you should configure your web server to "point" to your project's *public* folder, and
25+
not to the project root. A better practice would be to configure a virtual host to point there. A poor practice would be to point your web server to the project root and expect to enter *public/...*, as the rest of your logic and the
26+
framework are exposed.
27+
28+
**Please** read the user guide for a better explanation of how CI4 works!
29+
The user guide updating and deployment is a bit awkward at the moment, but we are working on it!
30+
31+
## Repository Management
32+
We use Github issues to track **BUGS** and to track approved **DEVELOPMENT** work packages.
33+
We use our [forum](http://forum.codeigniter.com) to provide SUPPORT and to discuss
34+
FEATURE REQUESTS.
35+
36+
If you raise an issue here that pertains to support or a feature request, it will
37+
be closed! If you are not sure if you have found a bug, raise a thread on the forum first -
38+
someone else may have encountered the same thing.
39+
40+
Before raising a new Github issue, please check that your bug hasn't already
41+
been reported or fixed.
42+
43+
We use pull requests (PRs) for CONTRIBUTIONS to the repository.
44+
We are looking for contributions that address one of the reported bugs or
45+
approved work packages.
46+
47+
Do not use a PR as a form of feature request.
48+
Unsolicited contributions will only be considered if they fit nicely
49+
into the framework roadmap.
50+
Remember that some components that were part of CodeIgniter 3 are being moved
51+
to optional packages, with their own repository.
52+
53+
## Contributing
54+
We welcome contributions from the community.
55+
56+
Please read the [*Contributing to CodeIgniter*](https://github.com/codeigniter4/CodeIgniter4/blob/develop/contributing.md) section in the development repository.
57+
58+
## Server Requirements
59+
PHP version 7.1 or higher is required, with the following extensions installed:
60+
61+
- [intl](http://php.net/manual/en/intl.requirements.php)
62+
- [libcurl](http://php.net/manual/en/curl.requirements.php) if you plan to use the HTTP\CURLRequest library
63+
64+
Additionally, make sure that the following extensions are enabled in your PHP:
65+
66+
- json (enabled by default - don't turn it off)
67+
- [mbstring](http://php.net/manual/en/mbstring.installation.php)
68+
- [mysqlnd](http://php.net/manual/en/mysqlnd.install.php)
69+
- xml (enabled by default - don't turn it off)

admin/framework/composer.json

+38
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,38 @@
1+
{
2+
"name": "codeigniter4/framework",
3+
"type": "project",
4+
"description": "The CodeIgniter framework v4",
5+
"homepage": "https://codeigniter.com",
6+
"license": "MIT",
7+
"require": {
8+
"php": ">=7.1",
9+
"ext-curl": "*",
10+
"ext-intl": "*",
11+
"kint-php/kint": "^2.1",
12+
"zendframework/zend-escaper": "^2.5"
13+
},
14+
"require-dev": {
15+
"codeigniter4/codeigniter4-standard": "^1.0",
16+
"mikey179/vfsStream": "1.6.*",
17+
"phpunit/phpunit": "^7.0",
18+
"squizlabs/php_codesniffer": "^3.3"
19+
},
20+
"autoload": {
21+
"psr-4": {
22+
"CodeIgniter\\": "system/",
23+
"Psr\\Log\\": "system/ThirdParty/PSR/Log/"
24+
}
25+
},
26+
"scripts": {
27+
"post-update-cmd": [
28+
"composer dump-autoload",
29+
"CodeIgniter\\ComposerScripts::postUpdate",
30+
"bash admin/setup.sh"
31+
]
32+
},
33+
"support": {
34+
"forum": "http://forum.codeigniter.com/",
35+
"source": "https://github.com/codeigniter4/CodeIgniter4",
36+
"slack": "https://codeigniterchat.slack.com"
37+
}
38+
}

admin/framework/phpunit.xml.dist

+28
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<phpunit bootstrap="tests/_support/_bootstrap.php"
3+
backupGlobals="false"
4+
colors="true"
5+
convertErrorsToExceptions="true"
6+
convertNoticesToExceptions="true"
7+
convertWarningsToExceptions="true"
8+
stopOnError="false"
9+
stopOnFailure="false"
10+
stopOnIncomplete="false"
11+
stopOnSkipped="false">
12+
<testsuites>
13+
<testsuite name="app">
14+
<directory>./tests</directory>
15+
<exclude>./tests/system</exclude>
16+
</testsuite>
17+
</testsuites>
18+
19+
<filter>
20+
<whitelist processUncoveredFilesFromWhitelist="true">
21+
<directory suffix=".php">./system</directory>
22+
<exclude>
23+
<directory>./system</directory>
24+
</exclude>
25+
</whitelist>
26+
</filter>
27+
28+
</phpunit>

0 commit comments

Comments
 (0)