Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .env.example
Original file line number Diff line number Diff line change
Expand Up @@ -3,4 +3,4 @@ DB_HOST=127.0.0.1
DB_NAME=phalcon
DB_USERNAME=root
DB_PASSWORD=password
DB_PORT=3306
DB_PORT=3306
4 changes: 2 additions & 2 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
--health-retries 5
strategy:
matrix:
php: [7.4, 8.0]
php: [8.0, 8.1]

steps:
- name: Checkout code
Expand All @@ -31,7 +31,7 @@ jobs:
uses: shivammathur/setup-php@v2
with:
php-version: ${{ matrix.php }}
extensions: phalcon-5.0.0beta1, pdo, mysql
extensions: phalcon-5.0.0RC1, pdo, mysql
coverage: none

- name: Validate composer.json and composer.lock
Expand Down
18 changes: 9 additions & 9 deletions composer.json
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,19 @@
}
],
"require": {
"php": ">=7.4.0",
"php": ">=8.0",
"ext-json": "*",
"codeception/codeception": "^4.0",
"codeception/lib-innerbrowser": "^1.0",
"codeception/module-asserts": "^1.0",
"codeception/module-phpbrowser": "^1.0",
"codeception/module-db": "^1.0"
"codeception/codeception": "^5.0.0-RC1",
"codeception/module-asserts": "^3.0",
"codeception/module-phpbrowser": "^3.0",
"codeception/module-db": "^3.0"
},
"require-dev": {
"codeception/util-robohelpers": "dev-master",
"vlucas/phpdotenv": "^4.1",
"squizlabs/php_codesniffer": "^3.4",
"vimeo/psalm": "^3.6"
"phalcon/ide-stubs": "^5.0.0RC1",
"squizlabs/php_codesniffer": "^3.6",
"vimeo/psalm": "^4.23",
"vlucas/phpdotenv": "^5.4"
},
"autoload": {
"classmap": [
Expand Down
27 changes: 22 additions & 5 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,11 +1,28 @@
version: '2.1'
# For local development only.
version: '3'

services:
module-phalcon5-8.0:
container_name: module-phalcon5-8.0
hostname: module-phalcon5-80
build: docker/8.0
working_dir: /srv
volumes:
- .:/srv

module-phalcon5-8.1:
container_name: module-phalcon5-8.1
hostname: module-phalcon5-81
build: docker/8.1
working_dir: /srv
volumes:
- .:/srv

mysql:
restart: always
container_name: module-phalcon5-mysql
image: mysql:5.7
ports:
- 3306:3306
environment:
- MYSQL_DATABASE=phalcon
- MYSQL_ROOT_PASSWORD=password
- MYSQL_USER=phalcon
- MYSQL_DATABASE=phalcon
- MYSQL_PASSWORD=password
75 changes: 75 additions & 0 deletions docker/8.0/.bashrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/bin/bash

# Easier navigation: .., ..., ...., ....., ~ and -
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ~="cd ~" # `cd` is probably faster to type though
alias -- -="cd -"

# Shortcuts
alias g="git"
alias h="history"

# Detect which `ls` flavor is in use
if ls --color > /dev/null 2>&1; then # GNU `ls`
colorflag="--color"
else # OS X `ls`
colorflag="-G"
fi

# List all files colorized in long format
# shellcheck disable=SC2139
alias l="ls -lF ${colorflag}"

# List all files colorized in long format, including dot files
# shellcheck disable=SC2139
alias la="ls -laF ${colorflag}"

# List only directories
# shellcheck disable=SC2139
alias lsd="ls -lF ${colorflag} | grep --color=never '^d'"

# See: https://superuser.com/a/656746/280737
alias ll='LC_ALL="C.UTF-8" ls -alF'

# Always use color output for `ls`
# shellcheck disable=SC2139
alias ls="command ls ${colorflag}"
export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:'

# Always enable colored `grep` output
alias grep='grep --color=auto '

# Enable aliases to be sudo’ed
alias sudo='sudo '

# Get week number
alias week='date +%V'

# Stopwatch
alias timer='echo "Timer started. Stop with Ctrl-D." && date && time cat && date'

# Canonical hex dump; some systems have this symlinked
command -v hd > /dev/null || alias hd="hexdump -C"

# vhosts
alias hosts='sudo nano /etc/hosts'

# copy working directory
alias cwd='pwd | tr -d "\r\n" | xclip -selection clipboard'

# copy file interactive
alias cp='cp -i'

# move file interactive
alias mv='mv -i'

# untar
alias untar='tar xvf'

# Zephir related
alias untar='tar xvf'

PATH=$PATH:./vendor/bin
35 changes: 35 additions & 0 deletions docker/8.0/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM composer:latest as composer
FROM php:8.0-fpm

ADD ./extra.ini /usr/local/etc/php/conf.d/

# User/Group globals
ENV PHP_VERSION="8.0" \
PHALCON_VERSION="5.0.0RC1"

# Update
RUN apt update -y && \
apt install -y \
apt-utils \
git \
nano \
sudo \
wget \
zip

# PECL Packages
RUN pecl install phalcon-${PHALCON_VERSION}

RUN docker-php-ext-install \
pdo_mysql

# Install PHP extensions
RUN docker-php-ext-enable \
phalcon

# Composer
COPY --from=composer /usr/bin/composer /usr/local/bin/composer
# Bash script with helper aliases
COPY ./.bashrc /root/.bashrc

CMD ["php-fpm"]
3 changes: 3 additions & 0 deletions docker/8.0/extra.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
memory_limit=512M
apc.enable_cli="On"
session.save_path="/tmp"
75 changes: 75 additions & 0 deletions docker/8.1/.bashrc
Original file line number Diff line number Diff line change
@@ -0,0 +1,75 @@
#!/bin/bash

# Easier navigation: .., ..., ...., ....., ~ and -
alias ..="cd .."
alias ...="cd ../.."
alias ....="cd ../../.."
alias .....="cd ../../../.."
alias ~="cd ~" # `cd` is probably faster to type though
alias -- -="cd -"

# Shortcuts
alias g="git"
alias h="history"

# Detect which `ls` flavor is in use
if ls --color > /dev/null 2>&1; then # GNU `ls`
colorflag="--color"
else # OS X `ls`
colorflag="-G"
fi

# List all files colorized in long format
# shellcheck disable=SC2139
alias l="ls -lF ${colorflag}"

# List all files colorized in long format, including dot files
# shellcheck disable=SC2139
alias la="ls -laF ${colorflag}"

# List only directories
# shellcheck disable=SC2139
alias lsd="ls -lF ${colorflag} | grep --color=never '^d'"

# See: https://superuser.com/a/656746/280737
alias ll='LC_ALL="C.UTF-8" ls -alF'

# Always use color output for `ls`
# shellcheck disable=SC2139
alias ls="command ls ${colorflag}"
export LS_COLORS='no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.jpg=01;35:*.jpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.avi=01;35:*.fli=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.ogg=01;35:*.mp3=01;35:*.wav=01;35:'

# Always enable colored `grep` output
alias grep='grep --color=auto '

# Enable aliases to be sudo’ed
alias sudo='sudo '

# Get week number
alias week='date +%V'

# Stopwatch
alias timer='echo "Timer started. Stop with Ctrl-D." && date && time cat && date'

# Canonical hex dump; some systems have this symlinked
command -v hd > /dev/null || alias hd="hexdump -C"

# vhosts
alias hosts='sudo nano /etc/hosts'

# copy working directory
alias cwd='pwd | tr -d "\r\n" | xclip -selection clipboard'

# copy file interactive
alias cp='cp -i'

# move file interactive
alias mv='mv -i'

# untar
alias untar='tar xvf'

# Zephir related
alias untar='tar xvf'

PATH=$PATH:./vendor/bin
35 changes: 35 additions & 0 deletions docker/8.1/Dockerfile
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
FROM composer:latest as composer
FROM php:8.1-fpm

ADD ./extra.ini /usr/local/etc/php/conf.d/

# User/Group globals
ENV PHP_VERSION="8.1" \
PHALCON_VERSION="5.0.0RC1"

# Update
RUN apt update -y && \
apt install -y \
apt-utils \
git \
nano \
sudo \
wget \
zip

# PECL Packages
RUN pecl install phalcon-${PHALCON_VERSION}

RUN docker-php-ext-install \
pdo_mysql

# Install PHP extensions
RUN docker-php-ext-enable \
phalcon

# Composer
COPY --from=composer /usr/bin/composer /usr/local/bin/composer
# Bash script with helper aliases
COPY ./.bashrc /root/.bashrc

CMD ["php-fpm"]
3 changes: 3 additions & 0 deletions docker/8.1/extra.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
memory_limit=512M
apc.enable_cli="On"
session.save_path="/tmp"
2 changes: 1 addition & 1 deletion documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -1507,7 +1507,7 @@ Switch to iframe or frame on the page.

Example:
``` html
<iframe name="another_frame" src="http://example.com">
<iframe name="another_frame" src="https://example.com">
```

``` php
Expand Down
2 changes: 1 addition & 1 deletion src/Codeception/Lib/Connector/Phalcon5.php
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use Closure;
use Codeception\Lib\Connector\Shared\PhpSuperGlobalsConverter;
use Codeception\Util\Stub;
use Codeception\Stub;
use Phalcon\Di\Di;
use Phalcon\Http;
use Phalcon\Mvc\Application;
Expand Down
16 changes: 8 additions & 8 deletions src/Codeception/Lib/Connector/Phalcon5/MemorySession.php
Original file line number Diff line number Diff line change
Expand Up @@ -5,34 +5,34 @@
namespace Codeception\Lib\Connector\Phalcon5;

use Phalcon\Session\Adapter\AbstractAdapter;
use Phalcon\Session\AdapterInterface;
use SessionHandlerInterface;

class MemorySession extends AbstractAdapter
{
/**
* @var string
*/
protected $sessionId;
protected string $sessionId;

/**
* @var string
*/
protected $name;
protected string $name;

/**
* @var bool
*/
protected $started = false;
protected bool $started = false;

/**
* @var array
*/
protected $memory = [];
protected array $memory = [];

/**
* @var array
*/
protected $options = [];
protected array $options = [];

public function __construct(array $options = null)
{
Expand Down Expand Up @@ -201,9 +201,9 @@ public function destroy($id): bool
*
* @param bool $deleteOldSession
*
* @return AdapterInterface
* @return SessionHandlerInterface
*/
public function regenerateId(bool $deleteOldSession = true): AdapterInterface
public function regenerateId(bool $deleteOldSession = true): SessionHandlerInterface
{
$this->sessionId = $this->generateId();

Expand Down
Loading