A salary cap cannot work in football, not because I don't want it to but because it's a global game, spanning multiple national governments, governing bodies, national, continental and international governing bodies.
If the Premier League implements a cap, then the best players leave to go to La Liga, Bundesliga. If all UEFA member leagues implement then the best players leave to go to MLS or the Chinese Leagues.
But it's not just that, how do you calculate the cap when there are so many local differences in currency and living conditions?
And if after all is taken into account, Man City would still find a creative way of working around it, and still get away with it.