PHPackages                             crunchy/crunchy-signup - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. crunchy/crunchy-signup

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

crunchy/crunchy-signup
======================

Signup process for ZfcUser with email confirmation

10925[4 issues](https://github.com/takeid/crunchysignup/issues)[7 PRs](https://github.com/takeid/crunchysignup/pulls)PHP

Since Mar 20Pushed 13y ago4 watchersCompare

[ Source](https://github.com/takeid/crunchysignup)[ Packagist](https://packagist.org/packages/crunchy/crunchy-signup)[ RSS](/packages/crunchy-crunchy-signup/feed)WikiDiscussions master Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

CrunchySignup
-------------

[](#crunchysignup)

Version 0.0.1 Created by Patrick Sagan ([zf2dev.com](http://zf2dev.com))

INTRODUCTION
------------

[](#introduction)

CrunchySignup is a user registration module for Zend Framework 2 which provides **email verification functionality during registration process**. It extends [ZfcUser](https://github.com/ZF-Commons/ZfcUser)module. It adds extra columns to user table like: created\_at, updated\_at, token, token\_created\_at.

REQUIREMENTS
------------

[](#requirements)

- [Zend Framework 2](https://github.com/zendframework/zf2) (latest master)
- [ZfcBase](https://github.com/ZF-Commons/ZfcBase) (latest master)
- [ZfcUser](https://github.com/ZF-Commons/ZfcUser) (latest master)

INSTALLATION
------------

[](#installation)

##### WITH COMPOSER (RECOMMENDED)

[](#with-composer-recommended)

1. Add this project, ZfcUser and ZfcBase in your composer.json:

    ```
    "require": {
        "zf-commons/zfc-base": "dev-master",
        "zf-commons/zfc-user": "dev-master",
        "crunchy/crunchy-signup": "dev-master"
    }
    ```
2. Tell Composer to download CrunchySignup:

    ```
    $ php composer.phar update
    ```

##### … OR BY CLONING PROJECT

[](#-or-by-cloning-project)

- Install the ZfcBase ZF2 module by cloning it into ./vendor/.
- Install the ZfcUser ZF2 module by cloning it into ./vendor/.
- Clone this project into your ./vendor/ directory.

POST INSTALLATION
-----------------

[](#post-installation)

1. apply schema from ./vendor/crunchy/crunchy-signup/data/schema\_up.sql
2. Turn on module in ./config/application.config.php file - add 'CrunchySignup'. Please ensure that CrunchySignup is added after ZfcBase and ZfcUser.

    ```
        'modules' => array(
            'ZfcBase',
            'ZfcUser',
            'CrunchySignup'
        )
    ```
3. Configure zfcuser module in ./config/autoload/zfcuser.global.php

- 'user\_entity\_class' =&gt; 'CrunchySignup\\Entity\\User'
- 'login\_after\_registration' =&gt; false,
- 'enable\_user\_state' =&gt; true,
- 'default\_user\_state' =&gt; null,
- 'allowed\_login\_states' =&gt; array( 1 )

4. Copy CrunchySignup/config/crunchysignup.global.php.dist to ./config/autoload/crunchysignup.global.php

FUTURE UPGRADES (TO-DO)
-----------------------

[](#future-upgrades-to-do)

- Do it more configurable **(important)**
- Add Doctrine Adapter
- Add other mail transports

KNOW HOW :
----------

[](#know-how-)

### How to override built in view scripts ?

[](#how-to-override-built-in-view-scripts-)

- In your module, under the view directory, create the folder tree crunchy-signup/register.
- Create the necessary override view scripts, depending on which page(s) you want to change: e.g.: crunchy-signup/register/register.phtml
- Refer to each built-in view script to see how the form is configured and rendered. NOTE: Your module must be loaded after CrunchySignup or the overriding will not work.

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance12

Infrequent updates — may be unmaintained

Popularity18

Limited adoption so far

Community11

Small or concentrated contributor base

Maturity41

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

### Community

Maintainers

![](https://www.gravatar.com/avatar/12d33252dea3275a0f2a300ac6b2a78b80597ed5b6eb201717a4f98af2e48b0c?d=identicon)[takeid](/maintainers/takeid)

---

Top Contributors

[![takeid](https://avatars.githubusercontent.com/u/642514?v=4)](https://github.com/takeid "takeid (22 commits)")

### Embed Badge

![Health badge](/badges/crunchy-crunchy-signup/health.svg)

```
[![Health](https://phpackages.com/badges/crunchy-crunchy-signup/health.svg)](https://phpackages.com/packages/crunchy-crunchy-signup)
```

###  Alternatives

[namshi/jose

JSON Object Signing and Encryption library for PHP.

1.8k99.6M101](/packages/namshi-jose)[league/oauth1-client

OAuth 1.0 Client Library

99698.8M106](/packages/league-oauth1-client)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[gesdinet/jwt-refresh-token-bundle

Implements a refresh token system over Json Web Tokens in Symfony

70516.4M35](/packages/gesdinet-jwt-refresh-token-bundle)[league/oauth2-google

Google OAuth 2.0 Client Provider for The PHP League OAuth2-Client

41721.2M118](/packages/league-oauth2-google)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
